2013 南京邀请赛 K题 yet another end of the world
/**
大意:给定一组x[],y[],z[] 确定有没有两个不同的x[i], x[j] 看是否存在一个ID使得
y[i]<=ID%x[i]<=z[i]
y[j]<=ID%x[j]<=z[j]
设ID%x[i] = a ID%x[j] = b
===〉ID+x[i]*x=a, ID+x[j]*y = b;
两式相减得 x[j]*y - x[i]*x = b-a;
若是有解 就是(b-a)%gcd(x[i],x[j]) == 0
就是看b-a的范围内是否有数是 gcd(x[i],x[j]) 的倍数
因为 y[j]<=b<=z[j] y[i]<=a<=z[i]
所以 y[j]-z[i]<=b-a<=z[j]-y[i] 欠缺; 还是思路不够,,做题太少。。
**/ #include <iostream>
#include <algorithm>
using namespace std;
long long x[],y[],z[]; long long gcd(long long a,long long b){
if(b==)
return a;
return gcd(b,a%b);
} bool check2(int d,int l,int r){
if(l%d==||r%d==)
return true;
if((r-l+)>=d)
return true;
int t1 = l/d;
int t2 = r/d;
if(t1!=t2)
return true;
else
return false;
} bool check(int i,int j){
if(y[i]>z[j]||y[j]>z[i]){
if(z[j]<y[i])
swap(i,j);
long long d = gcd(x[i],x[j]);
if(check2(d,y[j]-z[i],z[j]-y[i]))
return true;
else
return false;
}else
return true;
} int main()
{
int n;
while(cin>>n){
for(int i=;i<n;i++)
cin>>x[i]>>y[i]>>z[i];
bool flag = false;
for(int i=;i<n;i++){
for(int j=i+;j<n;j++){
if(check(i,j)){
flag = true;
break;
}
}
}
if(!flag){
cout<<"Can Take off"<<endl;
}else{
cout<<"Cannot Take off"<<endl;
}
}
return ;
}
2013 南京邀请赛 K题 yet another end of the world的更多相关文章
- hdu 4587 2013南京邀请赛B题/ / 求割点后连通分量数变形。
题意:求一个无向图的,去掉两个不同的点后最多有几个连通分量. 思路:枚举每个点,假设去掉该点,然后对图求割点后连通分量数,更新最大的即可.算法相对简单,但是注意几个细节: 1:原图可能不连通. 2:有 ...
- 2013 ACM/ICPC南京邀请赛B题(求割点扩展)
题目链接:http://icpc.njust.edu.cn/Contest/194/Problem/B B - TWO NODES 时间限制: 10000 MS 内存限制: 65535 KB 问题描述 ...
- 2013 南京邀请赛 A play the dice 求概率
/** 大意:给定一个色子,有n个面,每一个面上有一个数字,在其中的m个面上有特殊的颜色,当掷出的色子出现这m个颜色之一时,可以再掷一次..求其最后的期望 思路:假设 期望为ans 4 ans = 1 ...
- 2013 南京邀请赛 C count the carries
/** 大意: 给定区间(a,b), 将其转化为二进制 计算从a+(a+1)+(a+2)....+(a+b-1),一共有多少次进位 思路: 将(a,b)区间内的数,转化为二进制后,看其每一位一共有多少 ...
- 2018宁夏邀请赛K题Vertex Covers(高维前缀和 状压 折半
https://vjudge.net/problem/Gym-102222K 题意:给定N点M边的无向图,每个点有点权. 点覆盖表示某个点集S{}覆盖了所有的边,其贡献是S中点权之积. 现在让你求所 ...
- 2013长沙网络赛H题Hypersphere (蛋疼的题目 神似邀请赛A题)
Hypersphere Time Limit: 1 Second Memory Limit: 32768 KB In the world of k-dimension, there's a ...
- HDU 4758 Walk Through Squares (2013南京网络赛1011题,AC自动机+DP)
Walk Through Squares Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Oth ...
- HDU 4751 Divide Groups (2013南京网络赛1004题,判断二分图)
Divide Groups Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- HDU 4750 Count The Pairs (2013南京网络赛1003题,并查集)
Count The Pairs Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others ...
随机推荐
- 10个必备的移动UI设计资源站
http://www.uisdc.com/10-necessary-mobile-ui-design-resources# 交互设计中如何增加趣味性.提升愉悦http://www.uisdc.com/ ...
- 用户向导页面实现左右滑动的ViewPager
然后在一个博客,以前的博客ImageSwitcher实现用户向导,现在,随着ViewPager实现同样的功能.直接看代码: 布局文件activity_main.xml <RelativeLayo ...
- apache kafka系列之性能优化架构分析
apache kafka中国社区QQ群:162272557 Apache kafka性能优化架构分析 应用程序优化:数据压缩 watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...
- 汉诺塔 python版
汉诺塔问题:如果将n个盘子(由小到大)从a通过b,搬到c,搬运过程中不能出现小盘子在大盘子下面的情况. 思路分析:假设前要移动第100个盘子,分两步走,移动第99个:再移动第100个:而要移动第99个 ...
- ADO.NET详解----核心对象的使用
一.Connection对象 指定某个具体数据源以及提供登陆方式及用户名与密码. Connection对象的主要成员: 1.ConnectionString属性:连接字符串,指定要操作的数据库以及登录 ...
- margin 属性的相关问题
1.margin 的IE6 双边距问题 问题描述:浮动的块挨边框的时候会产生双倍的边距 解决方案: 1.增加display:inline; 2.去除float属性 2.margin 的重叠问题 CSS ...
- Android应用开发基础篇(12)-----Socket通信
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/03/2378669.html 一.概述 网络通信无论在手机还是其他设备上都应用得非常广泛,因此掌 ...
- Database SQL script automation management tools investigation
Recently researched about database SQL scripts auto management tools, recorded the results here. Res ...
- JS 修改元素
var ele; window.onload=function(){ ele=document.createElement('div'); ele.id='myEle1'; ele.style.bor ...
- 帝国cms7.0调用指定栏目,指定顺序排列
[e:loop={"select * from {$dbtbpre}enewsclass where classid in (82,83,86,87,88,89,90,91,93) orde ...