Codeforces Round #379 (Div. 2)
Posted LittlePointer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #379 (Div. 2)相关的知识,希望对你有一定的参考价值。
C:
思路:
二分,枚举要选哪个第一种操作,然后二分选哪个第二种操作,可以多加一个0当做不要第一种操作,然后更新最小值就好了;
D:
思路:
暴力,找出八个方向上最近的棋子然后判断就好了;
E:
思路:
并查集缩点+树的直径,可以发现把连通块缩点后,得到的一棵树的直径与最小次数相关
可以先用并查集+dfs缩点,缩点后新建一棵树然后bfs两次就能找到直径D了,ans=(D+1)/2;
F:
思路:
数学,知道这个公式a&b+a^b=a|b,不不不,是a&b+a|b=a+b,那么b[i]+c[i]=a[i]&a[1]+a[i]|a[1]+...+a[i]&a[n]+a[i]|a[n]=n*a[i]+∑a[i];
那么 ∑(b[i]+c[i])=2n*∑a[i];那么就可以算啦,不过要验证啊,然后按位验证就好;
代码地址:啦啦啦;
以上是关于Codeforces Round #379 (Div. 2)的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #370 - #379 (Div. 2)
Codeforces Round #379 (Div. 2) D. Anton and Chess(模拟)
Codeforces Round #379 (Div. 2)
Codeforces Round #379 (Div. 2) 总结分享
Codeforces Round #379 (Div. 2) C. Anton and Making Potions(二分)