抽屉原理
Keep_Trying_Go
无
展开
-
HDU5762(暴力)
求两个点之间的距离是否存在相等的。 #include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; const int maxx=1e7+10; int n,m; int vis[maxx]; struct node{ int x,y; }num[maxx]; int main(){ int t; cin>>t; wh原创 2021-02-22 10:26:40 · 93 阅读 · 0 评论 -
poj3370(抽屉原理)
同poj2356差不多,这道题是要我们输出之和是M的倍数的元素下标。 #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<cstdio> using namespace std; const int maxx=1e5+10; int a[maxx]; int vis[maxx]; int main(){ int n,m; while原创 2021-02-22 10:15:38 · 186 阅读 · 0 评论 -
poj2356(抽屉原理)
题意:从输入的N个元素中找出是N的倍数的元素并且输出; 因为这个要求的是连续的数之和,先用sum数组求和:sum[1],sum[1]+sum[2],……,sum[1]+sum[2]+……+sum[n]; 因为sum[i]%N的余数一定在1-N之间,所以根据抽屉原理,可以用vis数组记录出现的余数; 因为1-N之间一定存在有两个余数相同。 直接上代码: #include<iostream> #include<algorithm> #include<cstring> #in原创 2021-02-22 10:13:30 · 227 阅读 · 0 评论 -
HDU5776(抽屉原理)
判断两个点之间的距离是否有相等的! #include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; const int maxx=1e7+10; int n,m; int vis[maxx]; struct node{ int x,y; }num[maxx]; int main(){ int t; cin>>t; wh原创 2021-02-22 10:11:45 · 157 阅读 · 0 评论 -
HDU1808(抽屉原理)
采用sum求和的方式,从sum[1],sum[1]+sum[2],……,sum[1]+sum[2]+……+sum[n];对N求余,余数在1-N之间,那么肯定存在两个余数相同的情况,vis数组记录余数出现过! #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<cstdio> using namespace std; const int m原创 2021-02-22 10:08:24 · 184 阅读 · 0 评论