拓展欧几里得入门题

两个野人若要走到同一个洞穴,设他们走了x步,则p[i]*x+c[i]≡p[j]*x+c[j](mod ans),ans即答案;

移项得到(p[i]-p[j])*X+ansY=c[j]-c[i];

即aX+bY+=C的形式,枚举ans,n^2的枚举每一个野人,用ex_gcd求得最小解,看X是否在他们的生命时间内。


 /**************************************************************
Problem: 1407
User: xrdog
Language: C++
Result: Accepted
Time:3056 ms
Memory:1292 kb
****************************************************************/ #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<cmath>
#include<ctime>
#include<cstring>
#define yyj(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout);
#define llg long long
using namespace std; struct node
{
llg c,p,l;
}a[];
llg i,j,k,n,m,w,x,y,aa,ans,bb,cc;
bool f; void ex_gcd(const llg a,const llg b,llg &x,llg &y)
{
if (!b)
{
x=,y=;
return ;
}
ex_gcd(b,a%b,x,y);
llg temp=x;
x=y;
y=temp-a/b*y;
} llg gcd(llg a,llg b){return b==?a:gcd(b,a%b);} int main()
{
// yyj("savage");
cin>>n;
for (i=;i<=n;i++) scanf("%lld%lld%lld",&a[i].c,&a[i].p,&a[i].l);
for (ans=;ans<=;ans++)
{
f=true;
for (i=;i<n;i++)
if (f)
for (j=i+;j<=n;j++)
{
aa=a[i].p-a[j].p; bb=ans; cc=a[j].c-a[i].c;
//if (!(aa>=0 && cc>=0)) continue;
w=gcd(aa,bb);
x=,y=;
if (cc%w) continue;
ex_gcd(aa/w,bb/w,x,y);
x=(x*(cc/w)) % (bb/w);
if (x<) x+=abs(bb/w);
if (x<=min(a[i].l,a[j].l)) {f=false; break;}
}
if (f)
{
if (ans==) ans=;
cout<<ans;
return ;
}
}
return ;
}

【BZOJ】1407 NOI 2002 荒岛野人Savage的更多相关文章

  1. NOI 2002 荒岛野人

    人生第一次做NOI的题祭!!! 大概是NOI最简单的一道题 克里特岛以野人群居而著称.岛上有排列成环行的M个山洞.这些山洞顺时针编号为1,2,…,M.岛上住着N个野人,一开始依次住在山洞C1,C2,… ...

  2. 【bzoj 1407】【Noi2002】Savage

    Description Input 第1行为一个整数N(1<=N<=15),即野人的数目. 第2行到第N+1每行为三个整数Ci, Pi, Li表示每个野人所住的初始洞穴编号,每年走过的洞穴 ...

  3. bzoj1407 / P2421 [NOI2002]荒岛野人(exgcd)

    P2421 [NOI2002]荒岛野人 洞穴数不超过1e6 ---> 枚举 判断每个野人两两之间是否发生冲突:exgcd 假设有$m$个洞穴,某两人(设为1,2)在$t$时刻发生冲突 那么我们可 ...

  4. [LOJ 2134][UOJ 132][BZOJ 4200][NOI 2015]小园丁与老司机

    [LOJ 2134][UOJ 132][BZOJ 4200][NOI 2015]小园丁与老司机 题意 给定平面上的 \(n\) 个整点 \((x_i,y_i)\), 一共有两个问题. 第一个问题是从原 ...

  5. [LOJ 2133][UOJ 131][BZOJ 4199][NOI 2015]品酒大会

    [LOJ 2133][UOJ 131][BZOJ 4199][NOI 2015]品酒大会 题意 给定一个长度为 \(n\) 的字符串 \(s\), 对于所有 \(r\in[1,n]\) 求出 \(s\ ...

  6. [LOJ 2718][UOJ 393][BZOJ 5415][NOI 2018]归程

    [LOJ 2718][UOJ 393][BZOJ 5415][NOI 2018]归程 题意 给定一张无向图, 每条边有一个距离和一个高度. 再给定 \(q\) 组可能在线的询问, 每组询问给定一个点 ...

  7. [LOJ 2083][UOJ 219][BZOJ 4650][NOI 2016]优秀的拆分

    [LOJ 2083][UOJ 219][BZOJ 4650][NOI 2016]优秀的拆分 题意 给定一个字符串 \(S\), 求有多少种将 \(S\) 的子串拆分为形如 AABB 的拆分方案 \(| ...

  8. [LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士

    [LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士 题意 题面好啰嗦啊直接粘LOJ题面好了 小 D 最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照 ...

  9. [BZOJ 1563] [NOI 2009] 诗人小G(决策单调性)

    [BZOJ 1563] [NOI 2009] 诗人小G(决策单调性) 题面 一首诗包含了若干个句子,对于一些连续的短句,可以将它们用空格隔开并放在一行中,注意一行中可以放的句子数目是没有限制的.小 G ...

随机推荐

  1. Array-练习-自定义功能

    //html part <script type="text/javascript" src="out.js"></script> &l ...

  2. centos安装vsftp

    yum install -y vsftpd chkconfig vsftpd on 配置问价在/etc/vsftpd/下面 chroot_list 默认没有 必须自己建立 vi /etc/vsftpd ...

  3. python(2)-函数相关

    可变参数 def enroll(name, gender, age=6, city='Beijing'): print 'name:', name print 'gender:', gender pr ...

  4. MVC应用程序中,怎样控制与复制相同的功能

    先看此篇<MVC程序实现Autocomplete功能> http://www.cnblogs.com/insus/p/3546255.html 它是实现使用jQuery实现文本框输入文字, ...

  5. phpcms 导航栏点击栏目颜色定位方法和phpcms list页实现分页

    另:一个栏目下面如果没有子栏目,那么它调用的模板就是列表页模板(及list_为前缀的模板):如果一个栏目下面有子栏目,那么它调用的就是栏目首页模板(category_为前缀的模板). 当你这个栏目添加 ...

  6. Linux内核设计第三周——构造一个简单的Linux系统

    Linux内核设计第三周 ——构造一个简单的Linux系统 一.知识点总结 计算机三个法宝: 存储程序计算机 函数调用堆栈 中断 操作系统两把宝剑: 中断上下文的切换 进程上下文的切换 linux内核 ...

  7. C# Winform 界面中各控件随着窗口大小变化

    在做一项工程中,由于不确定目标平台的分辨率,而正常使用要求铺满整个屏幕,所以界面中的各个控件必须能够适应窗口的变化. 首先想到的就是控件的百分比布局,但是再尝试写了几个控件的Location和Size ...

  8. iOS,html使用交互相关

    1.UIWebView加载Html文件 2.UIWebView的委托方法 3.UIWebView和JS交互 4.使用Safari,WebView调试html 5.使用WKWebView加载Html,和 ...

  9. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布

    (新年巨献) RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持. RDIFram ...

  10. 【转修正】sql server行版本控制的隔离级别

    在SQL Server标准的已提交读(READ COMMITTED)隔离级别下,一个读操作会和一个写操作相互阻塞.未提交读(READ UNCOMMITTED)虽然不会有这种阻塞,但是读操作可能会读到脏 ...