赞
踩
题意:给定一个数集,每次可以选择其中两个数 x , y x, y x,y 然后把 2 x − y 2x-y 2x−y 加进去。问如此反复能否使得某个 k k k 在数集中。
x , y → 2 x − y x, y \rightarrow 2x-y x,y→2x−y 等价于在数轴上让 y y y 以 x x x 为中心对称过去。显然如此反复可以把所有与 x x x 相差 ∣ y − x ∣ |y-x| ∣y−x∣ 的整数倍的数加入数集。
多个数就对所有这样的 ∣ y − x ∣ |y-x| ∣y−x∣ 取 gcd。由辗转相除法,可以对数集排序,只取所有相邻数的差做 gcd。这样只要 O ( n ) O(n) O(n) 次 gcd。
题意:给定两个二进制串 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。