【数论】[NOI2002]荒岛野人

首先根据题意,我们可以发现,两个野人 i,j 会处在一个山洞当且仅当存在 x 满足 Ci+xPiCj+xPj (modM)M 为山顶数,x 为年数)当然,野人在 Li 年后会死亡,故当最小正整数解 x>Lix>Lj 时,其实是不满足两个野人处在一个山洞的。那么本题要求的是没有两个野人会处在同一个山洞,即要找到最小的 M 满足对于任意的 i,j,要么满足 Ci+xPiCj+xPj (modM) 无解,要么满足 Ci+xPiCj+xPj (modM) 的最小解 >min{Li,Lj}

我们现在的问题就是解决 Ci+xPiCj+xPj (modM) 这个式子,我们考虑把式子变换一下,xPixPjCjCi (modM)x(PiPj)CjCi (modM)x(PiPj)+yM=CjCi

这个是非常经典的问题,我们考虑使用扩展欧几里得来解决。

不会可以看 我的博客

题目说明了输入数据保证有解,且 M 不大于106。故我们考虑暴力枚举 M 然后 n2 暴力枚举 i,j 判断是否成立。最后最坏复杂度:O(106×n2×log(max{Pi,M}),但是考虑到根本卡不满,所以可以过。

还有一个小坑就是 M 一定 max{Ci}

code

posted @   chzhc  阅读(245)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
levels of contents
点击右上角即可分享
微信分享提示