2023/3/16数论总结(未完)
1|0CF1305F
随机化经典例题
考虑某题正解是随机化的话, 要满足什么? 正确率很高, 或者每次的正确率是一个比较大的数(比如 )。
回到这道题, 我们首先考虑如果将所有数变成 的最小步数, 其一定小于等于 , 这一点应该很明显, 最劣情况是所有数都是奇数, 那也只需要 步就可以使所有数满足条件。 既然如此, 我们考虑最后所有数变成了其它的数的因数, 会是什么情况。 此时, 假设这个因数是 , 那么至少一半的数满足以下三种情况中的一个:其本身是 的倍数, 其加上一后是 的倍数, 其减去一后是 的倍数。如果不这样, 那么必然有大于 的数需要操作大于等于 次, 那么操作数就比操作成 的倍数的操作数要多了, 综上, 我们随机选择序中的一个数 那么我们有大于等于 的几率答案需要的因数是 或 或 的因数。 选多次后就有很大的几率选中正确答案。
2|0SPOJ11414
这道题算是博弈论的板子题目
首先我们需要搞清楚 SG 函数, 这个函数其实就是把所有的操作双方等价操作的博弈问题转到 DAG 中后再转化成 NIM 游戏。 既然如此, 我们发现这就是典型的那种问题, 考虑构造 SG 函数。对于一个点,我们将其整个子树的 SG 函数设为 , 我们再设 子树中操作了一个点后的 SG 函数为 。 发现 其实就是几个互不相干的子树所组成的森林, 根据 SG 函数的性质, 直接转化成异或就行了, 考虑到子树需要挨个处理, 而对于 , 我们其实是可以直接转化成 的( 表示 的父亲), 只需要再异或上 的其它儿子的 的异或和就行了, 所以我们可以 树合并, 具体过程就不再赘述。
代码:
3|0CF1034E
首先, 这是一道子集卷积的板子, 然后我们贺上去后会发现过不了, 考虑如何优化。
首先我们不考虑子集卷积, 就直接考虑 FWT 。 按照子集卷积的思路来, 把 这一限制改成 (其中 表示 二进制下 的个数), 但是接着, 我们不考虑枚举, 而是选择再次转化, 变成 接着, 我们再考虑将每个 和 都改写成 和 。 这时候, 肯定不可能发生(否则无法满足 ) , 而 时因为 所以除了以后会被 模掉, 最后直接 FWT 即可。
__EOF__

本文链接:https://www.cnblogs.com/flower-dream/p/17224534.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效