先做一点简单的观察:若存在两个数 ,满足 且 的二进制数位数量相同,则把所有方案中的 全部替换为 一定不会更差(这里不考虑不能两个数相等的问题)。
因此容易想到先求出所有一定不会更差的数 组成的代表元素集合。可以证明对二进制长度为 的区间,得到的代表元素集合的大小不会超过 。
特判一类情况:
- 代表元素集合里的 有其他的可以被她替代的数,则答案还会多一种 需要更新。
然后枚举所有两个不同的候选数,求出这两个数的 值的 值暴力更新即可。
发布于 2026-07-07 09:23 202 字 2 min read
先做一点简单的观察:若存在两个数 ,满足 且 的二进制数位数量相同,则把所有方案中的 全部替换为 一定不会更差(这里不考虑不能两个数相等的问题)。
因此容易想到先求出所有一定不会更差的数 组成的代表元素集合。可以证明对二进制长度为 的区间,得到的代表元素集合的大小不会超过 。
特判一类情况:
然后枚举所有两个不同的候选数,求出这两个数的 值的 值暴力更新即可。
喜欢的话,留下你的评论吧~