codeforces round #606 题解

鸽了这么久真的很惭愧(X) 期末月感觉自己相当怠惰

A. Happy Birthday, Polycarp!

从小到大把beautiful number打个表

B. Make Them Odd

想不出什么好的做法,看了一眼数据范围,觉得priority_queue瞎搞一下就能过。
每次取大根堆最顶上的元素(注意去重),如果是偶数把它/2再放回堆里,同时把操作次数++,如果是奇数就丢掉。

C. As Simple as One and Two

策略如下:
1.遇到one的时候,直接把n删去
2.遇到two的时候,如果是twone,则把中间的o删去,如果不是,则把w删去
(害 判定方式写的有点丑)

D. Let’s Play the Words?

问题可以转换为求满足条件的00串,11串,01串和10串的数目关系,难点在于如何找到是否存在互相颠倒的串(如果有,则此串颠倒无意义),应该可以用string+map做
(还没试,等补档)

E. Two Fairs

第一个集合是“从A开始不经过B所能到达的所有点(不包括A本身)”,第二个集合是“从B开始不经过A所能到达的所有点(不包括B本身)”,在dfs的时候加一些限制就可以处理出来。
两集合分别减去交集,再将两集合元素个数相乘即为答案。
(要开long long啊qwq)

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注