码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #379 (Div. 2)

时间:2016-11-19 20:56:11      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:更新   ttl   暴力   树的直径   round   并查集   lan   nbsp   targe   

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)

标签:更新   ttl   暴力   树的直径   round   并查集   lan   nbsp   targe   

原文地址:http://www.cnblogs.com/zhangchengc919/p/6081337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!