ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【题解】[NOI2002]荒岛野人

2020-08-24 23:35:06  阅读:347  来源: 互联网

标签:题解 bmod 满足 荒岛 野人 NOI2002 xP 山洞 equiv


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

我们现在的问题就是解决 \(C_i+xP_i\equiv C_j+xP_j \ (\bmod M)\) 这个式子,我们考虑把式子变换一下,\(xP_i-xP_j\equiv C_j-C_i \ (\bmod M)\),\(x(P_i-P_j)\equiv C_j-C_i \ (\bmod M)\),\(x(P_i-P_j)+yM=C_j-C_i\)。

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

不会可以看 我的博客

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

还有一个小坑就是 \(M\) 一定 \(\geq max\{C_i\}\)。

code

标签:题解,bmod,满足,荒岛,野人,NOI2002,xP,山洞,equiv
来源: https://www.cnblogs.com/chzhc-/p/13557186.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有