当前位置:   article > 正文

【解题总结】Codeforces Round 698 (Div. 1)

codeforces round 698 (div. 1)

A Nezzar and Board

题意:给定一个数集,每次可以选择其中两个数 x , y x, y x,y 然后把 2 x − y 2x-y 2xy 加进去。问如此反复能否使得某个 k k k 在数集中。

x , y → 2 x − y x, y \rightarrow 2x-y x,y2xy 等价于在数轴上让 y y y x x x 为中心对称过去。显然如此反复可以把所有与 x x x 相差 ∣ y − x ∣ |y-x| yx 的整数倍的数加入数集。

多个数就对所有这样的 ∣ y − x ∣ |y-x| yx 取 gcd。由辗转相除法,可以对数集排序,只取所有相邻数的差做 gcd。这样只要 O ( n ) O(n) O(n) 次 gcd。

B Nezzar and Binary String

题意:给定两个二进制串 s , f s, f s,f q q q 次检查,第 i i i 次检查要求 s [ l i : r i ] s[l_i: r_i] s[li:ri] 是全 0 或全 1,完成第 i i i 次检查后可以修改 s [ l i : r i ] s[l_i: r_i] s[li:ri] 中严格小于区间长度一半的元素。问能否经过所有检查并把串在第 q q

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/75429
推荐阅读
相关标签
  

闽ICP备14008679号