Codeforces Round #769 (Div. 2)思路分享
Codeforces Round #769 (Div. 2)
咕的最久的一场比赛.....当时被C卡住,真的让我自闭了许久。。。
A. ABC
发现合法的方案只有01和10,其余均为不合法。
B. Roof Construction
B题当时真的卡了我许久.... 真的没有看清楚a,b的数据范围.....一直在找什么贪心....结果卡住gg...
由于数字时0到n-1,也就是说二进制是从0,一个一个往上加的。考虑最高的位数,将所有的数字按照最高位是0,是1分成两堆。可以发现无论怎么安排,总有两个数异或起来会使最高位的1异或出来。最以最大值最小只能是最高位为1,其他位为0.方案也简单,将两拨分开放,中间交界处放0与1<C. Strange Test
考虑我们使用过操作三后,一定存在a>=b,那么我们只能让b一直加1来与a相等。所以最后的结果一定是a加到某个数后,然后a|b,之后b++.或者b先加到某个数后,a|b,之后a++.因为数据大小都是1e6,所以我们直接枚举即可。点击查看代码
#include