51nod 1103 N的倍数(抽屉定理)
来源:互联网 发布:在js中让tr标签显示 编辑:程序博客网 时间:2024/05/19 17:09
题目:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1103
思路:首先明确,输出任意一个答案即可
求mod n的前缀和,然后如果0就是答案,如果没有等于0的,考虑mod n结果只能是1~n-1,所以根据抽屉定理/鸽巢定理
若把n个物体放在n - 1个抽屉中,至少有一个抽屉中放了两个物体
所以肯定有两个相同的前缀和,相减就是结果了
#include<bits/stdc++.h>using namespace std;typedef long long ll;ll a[50005],sum[50005],vis[50005];int main(){ int n; scanf("%d",&n); for(int i = 1;i <= n;i++) scanf("%lld",&a[i]),sum[i] = (sum[i-1]+a[i])%n; int l = 0,r = n; for(int i = 1;i <= n;i++) { if(!sum[i]) { l = 1,r = i; break; } if(vis[sum[i]]) { l = vis[sum[i]]+1,r = i; break; } vis[sum[i]] = i; } printf("%d\n",r-l+1); for(int i = l;i <= r;i++) printf("%d\n",a[i]); return 0;}
阅读全文
0 0
- 51nod 1103 N的倍数(抽屉定理)
- 51nod 1103 N的倍数(抽屉定理)
- 51nod 1103 N的倍数 (抽屉原理)
- 51nod 1103 N的倍数 (抽屉原理)
- 51nod 1103 N的倍数 (抽屉原理)
- 51 nod 1103 N的倍数(抽屉)
- 51nod N的倍数(抽屉原理)
- 51nod 1103:N的倍数 抽屉原理
- 51NOD 1103 N的倍数(抽屉原理)
- 51nod-1103 N的倍数(抽屉原理)
- 51nod 1103 N的倍数 抽屉原理
- 51nod 1103 N的倍数(抽屉原理)
- 前缀和+抽屉定理 51Nod1103 N的倍数
- 思维题:抽屉原理 hdu 5776 sum & 51Nod 1103 N的倍数
- 51nod 1103 N的倍数 思路:抽屉原理+前缀和
- 51nod 1103 N的倍数 思路:抽屉原理+前缀和
- 51Nod 1103 N的倍数
- 【51Nod 1103】N的倍数
- Java POI导出excel经典实现 测试(获取工作日列表+导出Excel)
- nginx反向代理后获取不到客户端的真实ip地址
- 2017面试遇到的问题记录
- 程序员,如何从平庸走向理想?
- CSS(3)
- 51nod 1103 N的倍数(抽屉定理)
- 对于“NP难问题”的理解
- 使用vss(visual SourceSafe Explorer)检出项目
- poi 函数 读取
- windows如何查看nvidia显卡(GPU)的利用率和温度
- UIWebview、WKWebviewJS交互,以及cookie的创建和传递
- TensorFlow基本用法
- java中的类修饰符、成员变量修饰符、方法修饰符。
- hdu 2066 一个人的旅行 最短路径dijkstra算法