当前位置: 首页 > news >正文

洛谷题单指南-进阶数论-P2421 [NOI2002] 荒岛野人

原题链接:https://www.luogu.com.cn/problem/P2421

题意解读:一个环形坐标轴,n个点初始位于C1、C2...Cn,每个点每次逆时针移动P1、P2...Pn步,每个点分别最多只能移动L1、L2...Ln步,要求n个点能移动的点每次同时移动,且不能有任意两个点相遇,求满足要求的环形坐标轴最小的长度。

解题思路:

要求环形坐标轴的最小长度,不妨从小到大枚举这个长度,设为m

要求不能有任意两点相遇,可以枚举任意两点i,j在移动t次之后的位置,那么

应该有(Ci + Pi * t) % m != (Cj + Pj * t) % m,

转化成等式表达,即(Ci + Pi * t) % m = (Cj + Pj * t) % m 在t <= min(Li, Lj)时没有正整数解

进一步转化,设未知数s,Ci + Pi * t + m * s = Cj + Pj * t 在t <= min(Li, Lj)时没有正整数解

移项:(Pi - Pj) * t + m * s = Cj - Ci,另a = |Pi - Pj|, b = m, c =  (Pi > Pj ? 1 : -1) * (Cj - Ci)

用扩展欧几里得算法求a * t + b * s = c的关于t的最小正整数解t0,如果gcd(a,b)不能被c整除(表示无正整数解)或者求出的t0 > min(Li, Lj)则表示满足要求。

如果所有的点对都满足要求,则此时的m即为答案。

不难发现,对于每两个点的处理就是P1516青蛙的约会

100分代码:

#include <bits/stdc++.h>
using namespace std;const int N = 20, M = 1000000;int C[N], P[N], L[N];
int maxc;
int n;int exgcd(int a, int b, int &x, int &y)
{if(b == 0){x = 1, y = 0;return a;}int d = exgcd(b, a % b, y, x);y -= a / b * x;return d;
}int main()
{cin >> n;for(int i = 1; i <= n; i++) {cin >> C[i] >> P[i] >> L[i];maxc = max(maxc, C[i]);}for(int m = maxc; m <= M; m++){int yes = true;for(int i = 1; i < n; i++){for(int j = i + 1; j <= n; j++){int a = abs(P[i] - P[j]);int b = m;int c = (P[i] > P[j] ? 1 : -1) * (C[j] - C[i]);int t, s;int d = exgcd(a, b, t, s);if(c % d) continue;t *= (c / d);t = (t % (b / d) + b / d) % (b / d); //t的最小正整数解if(t > min(L[i], L[j])) continue;yes = false;break;}if(!yes) break;}if(!yes) continue;cout << m;break;}return 0;
}

 

http://www.gsyq.cn/news/18988.html

相关文章:

  • 查询top cpu占用排行
  • 痞子衡嵌入式:在i.MXRT下测试启动特性时可改写OTP Shadow寄存器而不烧OTP
  • 05-字符设备驱动之ioctl
  • 大模型RAG的上下文压缩与过滤
  • iOS 26 设备文件管理实战指南,文件访问、沙盒导出、系统变更与 uni-app 方案适配
  • 从“视频孤岛”到“统一视界”:解析视频汇聚平台EasyCVR的核心功能与应用场景
  • 2025 年商用洗碗机源头厂家最新推荐榜:聚焦实力企业,为餐饮及企事业单位选购提供可靠参考
  • EHOME平台EasyCVR视频诊断功能指南:一文读懂其可识别的所有视频质量问题
  • 【SPIE出版】2025年信息工程、智能信息技术与人工智能国际学术会议(IEITAI 2025)
  • go读取二进制文件编译信息
  • 2025.10.10 图论
  • 基于LangChain 实现 Advanced RAG-后检索优化(上)-Reranker
  • 大模型在软件研发协同演进
  • NocoBase 走进德国大学课堂
  • 2025青海视频号运营最新推荐:创意内容与高效推广策略的完美
  • 详细介绍:构建生产级多模态数据集:视觉与视频模型(参照LLaVA-OneVision-Data和VideoChat2)
  • 公网服务器下的dify安装模型插件的相关问题和操作
  • 2025票务系统最新推荐榜:高效便捷与用户体验俱佳的优质选择
  • C#利用委托实现多个窗体间的传值
  • new操作符的手动实现
  • 关于HashMap
  • 2025 泰国立体/高位/仓储/托盘/重型/流利式/贯通式/穿梭车/模具货架厂家推荐排行榜:聚焦多场景存储需求,精选优质供应商!
  • 计划任务在不管用户是否登录都要运行时,bat不能正常运行处理办法
  • 2025 MVR/三效/多效/结晶/废水/降膜蒸发器厂家口碑推荐榜:聚焦多行业废水处理与物料浓缩解决方案!
  • mindie开启DeepSeek的128K
  • 微波雷达模块让广告灯告别无效展示
  • 为什么你的项目总是延期?90%的团队忽略了这5个预警信号
  • Salesforce项目老掉坑?这8个思维陷阱千万别踩
  • C#/.NET/.NET Core优秀项目和框架2025年9月简报
  • Alpha稳定分布概率密度函数的MATLAB实现