poj2356
来源:互联网 发布:手机棋牌游戏源码出售 编辑:程序博客网 时间:2024/05/18 15:56
鸽巢原理的ppt:
http://wenku.baidu.com/view/a2f20a2458fb770bf78a55b9.html
别人总结的鸽巢原理:
http://blog.csdn.net/acm_cxlove/article/details/7432166
鸽巢原理:用s1,s2,s3....sk...sn表示从第一个数到第k个数(包括k)的和如果sk能整除n,就直接给出结果,否则,将s1到sn对n的余数求出必有两个余数相同,即si%n == sj%n; 也就(sj-si)%n==0;所以 i+1 到 j的数的和 就是所求;#include <iostream>#include <cstdio>using namespace std;const int maxn = 10000+10;int a[maxn];int sum[maxn];int b[maxn];int main(){ int n; while(cin >> n) { sum[0] = 0; int flag = 0; for(int i = 1; i <= n; i++) scanf("%d", a+i); for(int i = 1; i <= n; i++) { //scanf("%d", a+i); if(a[i]%n==0) { printf("1\n%d\n", a[i]); flag = 1; break; } sum[i] = sum[i-1] + a[i]; if(sum[i]%n==0) { printf("%d\n", i); for(int j = 1; j <= i; j++) printf("%d\n", a[j]); flag = 1; break; } b[i] = sum[i]%n; } if(flag) continue; for(int i = 1; i <= n; i++) for(int j = 1; j < i; j++) { if(b[i] == b[j]) { printf("%d\n", i-j); for(int k = j+1; k <= i; k++) printf("%d\n", a[k]); } } }}
poj3370
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 100000+10;__int64 a[maxn] = {0}, b[maxn];int main(){ int n, m; while(scanf("%d%d", &n, &m)!=EOF&&n+m) { memset(b, 0, sizeof(b)); bool flag = false; for(int i = 1; i <= m; i++) { int tot; scanf("%d", &tot); if(flag) continue; a[i] = a[i-1] + tot; if(a[i]%n==0) { for(int j = 1; j < i; j++) printf("%d ", j); printf("%d\n", i); flag = true; } else if(b[a[i]%n]) { for(int j = b[a[i]%n]+1; j < i; j++) printf("%d ", j); printf("%d\n", i); flag = true; } else b[a[i]%n] = i; } }}
- poj2356
- poj2356
- poj2356
- poj2356
- poj2356 二分
- poj2356(鸽巢原理)
- poj2356 抽屉原理
- poj2356(二分图匹配)
- poj2356——Find a multiple
- poj3370 poj2356 鸽巢定理
- poj2356 Find a multiple(鸽巢原理)
- poj2356 Find a multiple(鸽巢原理)
- POJ2356 Find a multiple【鸽巢原理】
- poj2356 Find a multiple 抽屉原理
- 【POJ2356】Find a multiple(鸽巢原理)
- 【HDU1205/POJ2356/POJ3370】鸽巢原理专题
- 鸽巢原理 Poj3370&Hdu1808 + Poj2356 + Hdu 1205
- POJ2356 Find a multiple 抽屉原理(鸽巢原理)
- 网络流之SAP算法
- 移动开发者走向全能开发者的五大技能
- HDU1013 Digital Roots
- Xcode 代码自动化生成工具:Accessorizer
- netstat
- poj2356
- SQL基础——约束
- U-BOOT顶层MAKEFILE详解
- C#实例复制和深度复制的实现
- 飘逸的python - 常见的几个坑
- fstream用法(转)
- 解决mySQL占用内存超大问题
- Android多任务下载,使用Notification显示、更新进度条
- Unbuntu常用的进程管理命令