A Mister B and Book Reading 

O(n)暴力即可

#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const LL N=1,M=1,MOD=1;int main()
{//freopen("t.txt","r",stdin);int c,v0,v1,a,l;scanf("%d%d%d%d%d",&c,&v0,&v1,&a,&l);int nv=0,nr=v0;int ans=0;while(nv<c){nv+=v0;ans++;if(nv>=c){printf("%d\n",ans);return 0;}v0+=a;v0=min(v0,v1);nv-=l;nv=max(0,nv);  }return 0;
}

B Mister B and Angle in Polygon

把正n边形放到圆内看,每个边的圆周角是相等的。剩下的,大家都懂。

做了这么多年题第一次碰到考平面几何的。。。。

#include <iostream>int main(){int N,A;std::cin>>N>>A;std::cout<<"2 1 "<<std::max(3,std::min(N,(N*A+90)/180+2))<<std::endl;return 0;
}

  

C Mister B and Boring Game

又是一道BUG题 老哥走点心吧。。 略过

#include <stdio.h>
#include <algorithm>
using namespace std;int a, b, st, en;int tag(int k) {int rlt = (k - 1) / (a + b);if ((k - 1) % (a + b) < a) return rlt * 2 + 1;return rlt * 2 + 2;
}int solve(int st, int en) {int u = tag(st), v = tag(en);if (v > u + 4) return max(a + 1, 2 * a - b);if (v == u) return u & 1 ? en - st + 1 : 1;if (v == u + 1) return u & 1 ? a - ((st - 1) % (a + b)) : ((en - 1) % (a + b)) + 2;if (v == u + 2) {int x = a - ((st - 1) % (a + b)), y = (en - 1) % (a + b) + 1;return u & 1 ? max(min(x + y, a), max(x, y + min(x, a - b))) : a + 1;}return max(solve(a * (tag(st) & 1) + 1 + (a + b) * (tag(st) >> 1), en), solve(st, (a + b) * ((tag(en) - 1) >> 1) + a * ((tag(en) - 1) & 1)));
}int main() {scanf("%d %d %d %d", &a, &b, &st, &en);printf("%d\n", solve(st, en));return 0;
}

  

D Mister B and PR Shifts

考虑对于每一个数可以预知在右移某些步数的范围内使答案变好,其余范围使答案不变或者变差,于是可以用线段树维护,然后求和。

但是n有100w  时限只有2s O(nlogn)可能超时 应该有O(n)的算法。

由于在询问之前给出了所有数值信息,即不需动态维护线段。

所以用线段树是大材小用了,直接维护即可。复杂度O(n)注意边界情况要特殊判断。

#include <bits/stdc++.h>using namespace std;int n, ta, tb, md;
long long mi = LLONG_MAX, cur, cs, dx[2000005], add[2000005];int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d", &ta);cur += abs(ta - i);dx[(ta - i + n) % n] += 2;dx[(1 - i + n) % n] -= 2;add[n-i] += abs(ta - 1) - (abs(ta - n) + 1);if ((1 - i + n) % n <= (ta - i + n) % n)cs++;elsecs--;}for (int i = 0; i < n; i++) {if (cur < mi)mi = cur, md = i;cs += dx[i];cur += cs + add[i];}printf("%lld %d\n", mi, md);return 0;
}

  

E Mister B and Beacons on Field

转载于:https://www.cnblogs.com/heisenberg-/p/7089296.html

codeforces round 421 div2 补题 CF 820 A-E相关推荐

  1. codeforces round 418 div2 补题 CF 814 A-E

    A An abandoned sentiment from past 水题 #include<bits/stdc++.h>using namespace std;int a[300],b[ ...

  2. codeforces round 422 div2 补题 CF 822 A-F

    A I'm bored with life 水题 #include<bits/stdc++.h> using namespace std; typedef long long int LL ...

  3. codeforces round 420 div2 补题 CF 821 A-E

    A Okabe and Future Gadget Laboratory 暴力 #include<bits/stdc++.h> using namespace std; typedef l ...

  4. codeforces round 416 div2补题

    第一题,水题 A. Vladik and Courtes #include<bits/stdc++.h> using namespace std; int main() {long lon ...

  5. 【codeforces Round#801 Div2 D题 Tree Queries】树形贪心结论

    题目链接 题意: 给你一棵树,你需要执行多次询问来确定一个节点x的位置,对于每一次询问,你需要选择一个节点,能得到这个节点与x节点的距离是多少,问至少需要多少次询问才能确定x的位置. 分析: 有一个结 ...

  6. cf round #421 div2 D. Mister B and PR Shifts

    链接:http://codeforces.com/contest/820/problem/D 分析:|p[i]-i|每次只会变化1,先不考虑端点情况,就只有p[i]==i的时候变化,每次k+1的时候, ...

  7. BC div2补题以及 复习模除 逆元__BestCoder Round #78 (div.2)

    第一题没话说 智商欠费 加老柴辅导终于过了 需要在意的是数据范围为2的63次方-1 三个数相加肯定爆了 四边形的定义 任意边小于其余三边之和 换句话说就是 最长边小于其余三边之和 这样的话问题转化为 ...

  8. Codeforces Round #652 div2 总结 端午节前小结

    2020.6.24 连着三天熬夜和一连串要处理的事情已然让我的身体有点吃不消.我只是喜欢想题的那种冥想思路开阔的感觉,但是熬夜还是不能行的.端午节前就暂时不碰竞赛了,昨天晚上算是打完了最后一场比赛.今 ...

  9. codeforces Round#429 (Div2)

    2017-08-20 10:00:37 writer:pprp 用头文件#include <bits/stdc++.h>很方便 A. Generous Kefa codeforces 84 ...

最新文章

  1. mysql中的%_mysql入门
  2. java 静态代码块 多线程,Java多线程编程笔记10:单例模式
  3. 死锁是什么?死锁产生的条件?如何避免死锁?以及死锁的示例代码(Java代码)
  4. 智源论坛报名 | 智能信息检索与挖掘报告会(9月17日)
  5. 赠书:一本书揭开 Spring Boot 技术内幕
  6. Linux局域网搭建
  7. debian 安装_如何在 Debian/Ubuntu 上手动安装安全更新? | Linux 中国
  8. 一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
  9. 中文表示什么_中文分词是个伪问题
  10. 阿斯克码表java_一分钟了解阿斯克码
  11. 批处理 文件名字前面加前缀或者后缀
  12. 吴恩达深度学习教程参考链接
  13. 银联支付接口申请开发教程-傲付宝
  14. H.264/AVC 的各大主流编解码器
  15. 基于Canvas+React的高性能Table表格
  16. 测试底妆的软件,底妆日记 | 我用半个月的时间,测试了我所遇过最贵的底妆
  17. logback之三:输出日志到文件(滚动)
  18. JVM中的monitorenter和monitorexit
  19. 用Java输出100内的质数和合数(包含100)
  20. 【练习七 字符串编程题9. 音乐DJ和回响贝斯】

热门文章

  1. NOI2011 道路修建
  2. IE6 下div高度显示的问题
  3. 社会生活中常用的14条著名法则
  4. 动态规划和分治法的区别
  5. javascript编写_如何通过编写自己的Web开发框架来提高JavaScript技能
  6. 编解码器架构中的桥(bridge)指什么
  7. (C++)string 的两种输入方式和输出方式
  8. 图卷积神经网络(GCN)入门
  9. python 数据类笔试题_一道 Python 类的笔试题详解
  10. 零基础参加java培训主要学什么