专栏文章

题解:P10539 [APIO2024] 魔术表演

P10539题解参与者 2已保存评论 1

文章操作

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

当前评论
1 条
当前快照
1 份
快照标识符
@miotbhz8
此快照首次捕获于
2025/12/03 00:48
3 个月前
此快照最后确认于
2025/12/03 00:48
3 个月前
查看原文
APIO2024,忆昔当年泪不干。
这个题的解决思路有两种,一种是保存完整的信息不要让信息被删干净,另一种是保存一些有效信息通过删除后剩余的有效信息还原原数。
第一个思路的一种可行做法为 kk 进制拆分,先对 XX 拆位,每一位连向代表 0k10 \sim k - 1 的点,多连几遍。随机删点的情况下正确率非常高。
但交互库可能会采取某种特殊策略删点,比如删除某个点连出去的所有边之类的。这样就有很大的可能会丢失信息。
多做几次随机置换能降低丢失信息的概率,最后能不能过比较吃运气。
由这个做法可以延伸到第二个思路的类似做法:我们对 XX 做多次 kk 进制拆分,每次取不同的 kk。最后就算删除了相当一部分信息,我们仍然能从剩余的信息里还原出原来的 XX
这个做法可行但很麻烦,考虑一个更简单的做法。
k+1k + 1 连向 Xmodk+1X \bmod k + 1,最后 exCRT 还原一下即可(实际上直接暴力还原复杂度也是对的)。
设保留下来的边里的更大的数为 xix_i,那么最后一定能还原出一个小于所有 x1x - 1 的最小公倍数的解。
我们只要保证这个最小公倍数大于 101810^{18} 即可,为了保证正确性,要把 nn 取大一点。

评论

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

正在加载评论...