2017冬季24集训模拟-3.耀西岛

——————————————————————————题解

路径的长度是1-200000

然后路径的条数有n*(n+1)/2

根据鸽巢原理n*(n+1)/2 > 200000就一定是YES

所以复杂度只有n^2

 1 #include <iostream>
 2 #include <queue>
 3 #include <set>
 4 #include <cstdio>
 5 #include <cstring>
 6 #include <vector>
 7 #include <algorithm>
 8 #include <cmath>
 9 #define siji(i,x,y) for(int i=x;i<=y;++i)
10 #define gongzi(j,x,y) for(int j=x;j>=y;--j)
11 #define xiaosiji(i,x,y) for(int i=x;i<y;++i)
12 #define sigongzi(j,x,y) for(int j=x;j>y;--j)
13 #define ivorysi
14 #define inf 0x3f3f3f3f
15 #define mo 97797977
16 #define ha 974711
17 #define ba 47
18 #define fi first
19 #define se second
20 #define pii pair<int,int>
21 typedef long long ll;
22 using namespace std;
23 int T,n,m;
24 int x[100005],y[100005];
25 bool check[200005],flag;
26 int dist(int a,int b) {
27     return abs(x[a]-x[b])+abs(y[a]-y[b]);
28 }
29 void init() {
30     scanf("%d%d",&n,&m);
31     siji(i,1,n) {
32         scanf("%d%d",&x[i],&y[i]);
33     }
34     flag=0;
35     memset(check,0,sizeof(check));
36 }
37 void solve() {
38     scanf("%d",&T);
39     while(T--){
40         init();
41         if(n>=30000) puts("YES");
42         siji(i,1,n) {
43             siji(j,i+1,n) {
44                 int x=dist(i,j);
45                 if(check[x]) {flag=1;goto suc;}
46                 else check[x]=1;
47             }
48         }
49         suc:
50         if(flag) puts("YES");
51         else puts("N0");
52     }
53 }
54 int main(int argc, char const *argv[])
55 {
56 #ifdef ivorysi
57     freopen("island.in","r",stdin);
58     freopen("island.out","w",stdout);
59 #else
60     freopen("f1.in","r",stdin);
61 #endif
62     solve();
63     return 0;
64 }
时间: 2024-10-20 23:04:49

2017冬季24集训模拟-3.耀西岛的相关文章

2017冬季24集训模拟-1.寻找幽灵

--------------------------------------------题解 把最短路处理出来然后做背包 没有把head数组和all初始化qwq 1 #include <iostream> 2 #include <queue> 3 #include <set> 4 #include <cstdio> 5 #include <cstring> 6 #include <vector> 7 #include <algo

2017冬季24集训模拟-4.排座椅

--------------------题解 统计这一列或行放通道能隔开几个人,然后贪心 输出没有排序QWQ 1 #include <iostream> 2 #include <queue> 3 #include <set> 4 #include <cstdio> 5 #include <cstring> 6 #include <vector> 7 #include <algorithm> 8 #define siji(i

2017.9.24 noip模拟赛 day2—组合数

简化版题意: 给定n,m(n<=m),求C(n,m)的末尾有几个0 输入格式: 第一行一个整数t,代表数据组数. 接下来t行,每行两个整数n,m 输出格式: t行,每行一个整数,代表C(n,m)的末尾0的个数. 样例输入: 310 111 720 4 样例输出: 110 数据范围: 1<=m<=n<=1000000,t<=1000 首先这道题需要知道一个公式:C(n,m)=n!/(n-m)!*m! 然后10=2*5,也就是说,对于一个数,我们将其因数分解,2和5中较少的数的个

Becoming inspired - ASC - 2017 MARCH 24

Becoming inspired - The 11 questions to ask yourself when you feel uninspired @ Advanced Studio Classroom Vol: 2017 MARCH 24 Maybe you're struggling to find out what it is you care most about. Be struggling to.. To find out + what it is you care most

2017.6.11 校内模拟赛

题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小copy一下排个序 用两个指针维护两个数组(原数据 和 排序后的数据), 即分为1数据和2数组 将小于1指针指向的数据的2数组中的数据全部压入栈中 后进行消除, 将栈栈顶元素与当前1数组中的1指针指向的元素进行比较 相同则消除 后重复过程 直至指针超过N 后判断一下是否两个指针都超过了N... #incl

2017.12.24(查找最接近元素等)

2017.12.24  贪心,分治综合习题(2) 1.查找最接近元素 思路:由题可知,n<=100000,m<=10000,如果每一个m都把这个非降序序列扫一遍的话,那么时间复杂的将要到达1010那么多,明显不合题意:所以,只能用二分查找来优化时间复杂度. 核心代码: int left=1,right=n,mid,bz=0; while(left<right-1){ bz=0; mid=(left+right)/2; if(k==num[mid]){ printf("%d\n&

[OI模拟赛]2017.8.24 Day5

A题 第K小的和 Tom有n个数字Ai,每个数字都不?一样.现在,Tom想把这些数字次数的选择,然后 把选定的数字求和,例如: Tom有2个数字,这2个数字分别是:3,5,那么,他能够组成的数字有: 3,5,6,8,9,10,11,12… 现在,他好奇组成的和中,第k?小的是多少,你能告诉他么? 输?入格式: 第?一?行两个正整数n,k表?示Tom?手上数字的个数,以及要求的是第?几?小的数字. 第?二?行n个正整数Ai,表?示Tom?手上每个数字的值. 输出格式: ?一个正整数,表?示第k?小

emWin5.24 VS2008模拟LCD12864 stm32 RTX移植 【worldsing笔记】

? emWin for 12864 并口移植 源代码下载:RTX_emWin5.24_Keil_VS2008-20141122.zip ? 硬件环境: CPU: stm32f103ve LCD:st7920控制器 12864 并口 ? 软件环境: Keil MDK4.74 VS2008 emWin5.24 ? 使用rtx操作系统 ? ? 1.实现emWin5.24在keil 和vs2008同一代码的工程,vs2008目录实现在FMC的官方模拟器上的模拟,Keil目录实现在stm32f103ve

【2017 4 24 - B】 组合数

[题目描述] 输入格式: 一行一个正整数n 输出格式: 一行一个数f(n)对1000000007取余的值 [分析] 就是乱搞?? 就是问根到叶子有多少条路径嘛. 然后路径可以π.1.1.π...这样表示 枚举有多少个$π$,算出最后一个π前面最多多少个1[这样比较不容易算重复什么的],然后用组合数算一算. 有一个比较坑的地方就是比如3.2是-π是大于0但是是不能减的因为3.2已经小于4了. 然后就是假设枚举了i个π,最后一个π前面最多y个1. 就是 $\sum_{j=0}^{y} C_{i+j-