这题的时间复杂度真玄学。。。 O(m*n^2)。1e8也能过啊。。。

首先题目保证m<=1e6. 这启发我们枚举或者二分答案?

但是答案不满足单调性,考虑从小到大枚举m。

对于每一个m,枚举两个野人在有生之年能否住在一起。可以推出一个同余方程,用扩欧可以求出最小整数解x,或者没有解。

如果x<=life[i]&&x<=life[j]那么当然不满足条件。

# include <cstdio>
# include <cstring>
# include <cstdlib>
# include <iostream>
# include <vector>
# include <queue>
# include <stack>
# include <map>
# include <set>
# include <cmath>
# include <algorithm>
using namespace std;
# define lowbit(x) ((x)&(-x))
# define pi 3.1415926535
# define eps 1e-
# define MOD
# define INF
# define mem(a,b) memset(a,b,sizeof(a))
# define FOR(i,a,n) for(int i=a; i<=n; ++i)
# define FO(i,a,n) for(int i=a; i<n; ++i)
# define bug puts("H");
# define lch p<<,l,mid
# define rch p<<|,mid+,r
# define mp make_pair
# define pb push_back
typedef pair<int,int> PII;
typedef vector<int> VI;
# pragma comment(linker, "/STACK:1024000000,1024000000")
typedef long long LL;
int Scan() {
int res=, flag=;
char ch;
if((ch=getchar())=='-') flag=;
else if(ch>=''&&ch<='') res=ch-'';
while((ch=getchar())>=''&&ch<='') res=res*+(ch-'');
return flag?-res:res;
}
void Out(int a) {
if(a<) {putchar('-'); a=-a;}
if(a>=) Out(a/);
putchar(a%+'');
}
const int N=;
//Code begin... int C[N], P[N], L[N], n; int extend_gcd(int a, int b, int &x, int &y){
if (a==&&b==) return -;
if (b==){x=; y=; return a;}
int d=extend_gcd(b,a%b,y,x);
y-=a/b*x;
return d;
}
bool check(int ans){
int d, x, y;
FOR(i,,n) FOR(j,i+,n) {
d=extend_gcd(P[i]-P[j],-ans,x,y);
if ((C[j]-C[i])%d) continue;
x*=((C[j]-C[i])/d);
int k=abs(-ans/d);
x=(x%k+k)%k;
if (x<=L[i]&&x<=L[j]) return false;
}
return true;
}
int main ()
{
int ans=;
scanf("%d",&n);
FOR(i,,n) scanf("%d%d%d",C+i,P+i,L+i), ans=max(ans,C[i]);
for (;;++ans) if (check(ans)) break;
printf("%d\n",ans);
return ;
}

最新文章

  1. [转载] linux 下查看机器cpu是几核的
  2. 完成了第一个java
  3. Call and Apply in JavaScript
  4. Quartz 第三课 More About Jobs &amp; JobDetails(官方文档翻译)
  5. Eclipse使用新手教程
  6. muduo源代码分析--我对muduo的理解
  7. dede修改移动文档的js
  8. DP Leetcode - Maximum Product Subarray
  9. fullCalendar:中文API
  10. prism silverlight
  11. 深入理解计算机系统_3e 第八章家庭作业 CS:APP3e chapter 8 homework
  12. SSH框架学习环境配置
  13. SybaseIQ上SQL基本使用
  14. Dynamic Programming | Set 2 (Optimal Substructure Property)
  15. Linux下 网卡测速
  16. &lt;亲测&gt;CentOS7yum安装PHP7.2
  17. [UE4]位移和形变 Render Transform
  18. 菜鸟教程之工具使用(四)——借助JRebel使Tomcat支持热部署
  19. [转]SendKeys.Send 方法
  20. 【bzoj3684】 大朋友和多叉树 生成函数+多项式快速幂+拉格朗日反演

热门文章

  1. HttpClient&amp;Jsoup爬虫的简单应用
  2. ONTAK 2010 aut
  3. ATextAppearance.AppCompat.Small not found
  4. 安卓app连接CC2541-手机休眠后唤醒,通信不再成功
  5. CentOS 7.2 安装zabbix 3.4
  6. python学习笔记03 --------------程序交互与格式化输出
  7. Centos配置深度学习开发环境
  8. 提升方法-AdaBoost
  9. eos开发指南
  10. 贵州省未来二十年的投资机会的探讨2&gt;