这是个交互题,目前遇到的交互题都是用二分解决的。
本题使用二分精准定位拥有重量为2的石头的堆。
为避免时间超限,应该再输入数据时计算好前缀和。
二分过程中,如果哪边的重量总和不等于石头数,那就向这边缩小范围。
代码:
由于篇幅太短,再写一篇题解
Rebellion CodeForces - 1746B
这道题非常简单,只需要找出规律就行
看给出的样例
序列只由0或1组成,我们可以进行的操作是,删除一个数加到另一个数上面去。
删0加0 《=》只删除了一个障碍0,另一个0无动于衷
删0加1 《=》删除了一个障碍0
删1加1 《=》变出了一个2,浪费时间浪费资源浪费精力没必要
删1加0 《=》删除了一个前面的障碍0和后面的障碍1
所以我们就需要采用删1加0的方式操作数列
很容易发现,我们只需要遍历整个序列一共有多少个0,假设是n个0,那么再遍历前n个数,遇到1则ans加1,相当于用前n个里的1去消除掉后面的0。
所以代码呼之欲出:
防止直接被cv代码交题,就只贴图不放代码了。