专栏文章

题解:AT_abc138_f [ABC138F] Coincidence

AT_abc138_f题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipe2ekm
此快照首次捕获于
2025/12/03 10:29
3 个月前
此快照最后确认于
2025/12/03 10:29
3 个月前
查看原文
因为有 xyx \le y,则 ymodxyxy \bmod x \ge y - x
同时我们知道 yxxyy - x \ge x \oplus y,因此显然有 ymodx=yx=xyy \bmod x = y - x = x \oplus y
考虑如何满足 yx=xyy - x = x \oplus y。先拆位,对于任意一位,一定有 yxxyy - x \le x \oplus y。只要任意一位没有取等,最后也一定取不到等。
所以对于任何一个二进制位,一定有 yx=xyy - x = x \oplus y。那么如果 yy 的这一位是 00xx 这一位也只能是 00。如果 yy 的这一位是 11,则 xx 这一位可以是 00 也可以是 11
在此基础上,我们还要满足 ymodx=yxy \bmod x = y - x。这个怎么实现?考虑 yy 的二进制下的最高位,若 xx 这一位也为 11,则一定满足。若 xx 这一位为 00,此时必须有 y<2xy < 2x,那么 xx 的下一位必定是 11。而根据刚才我们的结论,xx 某一位是 11yy 必须也是 11,则 yy 的这一位是 11,则 xx 再下一位也是 11……以此类推。推到最后我们发现无法满足条件,所以 xx 这一位不可能是 00
剩下的实现很简单,数位 DP 即可。
需要注意的是这个数位 DP 不能像常规数位 DP 那样拆成 [1,L1][1, L - 1][1,R][1, R] 分开计算,因为这样无法统计 xx[1,L1][1, L - 1]yy 不在时的贡献。所以必须在 DP 时同时记录上下界。

评论

0 条评论,欢迎与作者交流。

正在加载评论...