poj 2356 抽屉原理
基本原理: n+1个鸽子放到n个笼子里,至少有一个笼子里有两只及其以上的鸽子。若有n个笼子,kn+1个鸽子,至少有一个笼子里面有k+1个鸽子;
题意:给定N个数,挑出一些数,他们和和是n的整数倍;
分析:
对前缀和%n,余数为1~n,(0满足)相等处则产生解;
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std; const int maxn = + ; int sum[maxn],a[maxn],has[maxn];
int n;
int main()
{
scanf("%d",&n);
memset(has,-,sizeof(has));
has[]=;
int l,r;
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
sum[i]=(sum[i-]+a[i])%n;
if(has[sum[i]]==-)
{
has[sum[i]]=i;
}
else
{
l=has[sum[i]];
r=i;
}
}
printf("%d\n",r-l);
for(int i=l+;i<=r;i++)
{
printf("%d\n",a[i]);
}
return ;
}
poj 2356 抽屉原理的更多相关文章
- poj 2356鸽笼原理水题
关于鸽笼原理的知识看我写的另一篇博客 http://blog.csdn.net/u011026968/article/details/11564841 (需要说明的是,我写的代码在有答案时就输出结果了 ...
- poj 2356 (抽屉原理)
题目链接:http://poj.org/problem?id=2356 题目大意:给你n个数,要你从n个数选出若干个数,要求这若干个数的和是n的倍数,输出选择数的个数,以及相应的数. 解题思路: 以下 ...
- POJ 2356 Find a multiple 抽屉原理
从POJ 2356来体会抽屉原理的妙用= =! 题意: 给你一个n,然后给你n个数,让你输出一个数或者多个数,让这些数的和能够组成n: 先输出一个数,代表有多少个数的和,然后再输出这些数: 题解: 首 ...
- POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理
Find a multiple Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7192 Accepted: 3138 ...
- Find a multiple POJ - 2356 (抽屉原理)
抽屉原理: 形式一:设把n+1个元素划分至n个集合中(A1,A2,…,An),用a1,a2,…,an分别表示这n个集合对应包含的元素个数,则:至少存在某个集合Ai,其包含元素个数值ai大于或等于2. ...
- POJ 2356 && POJ 3370 鸽巢原理
POJ 2356: 题目大意: 给定n个数,希望在这n个数中找到一些数的和是n的倍数,输出任意一种数的序列,找不到则输出0 这里首先要确定这道题的解是必然存在的 利用一个 sum[i]保存前 i 个数 ...
- POJ 3370 Halloween treats(抽屉原理)
Halloween treats Every year there is the same problem at Halloween: Each neighbour is only willing t ...
- POJ 3370 Halloween treats(抽屉原理)
Halloween treats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6631 Accepted: 2448 ...
- Find a multiple POJ - 2356 【鸽巢原理应用】
Problem DescriptionThe input contains N natural (i.e. positive integer) numbers ( N <= 10000 ). E ...
随机推荐
- js 反转字符串的实现
在这里只推荐简单易懂的方法,赶紧get !!! 字符串转数组,反转数组,数组转字符串. split(""):根据空字符串拆分数组 reverse():数组反转元素位置 join(& ...
- Long 和 Integer
Integer 32位 其范围为 -2^31 到 2^31-1 之间,所以最大值是 2^31-1 Long 64位
- word 快捷键
Ctrl+shift+F9 清除word文档中的超链接
- 全文检索~solr的使用
全文检索这个系列在几前年写过lucene的文章,而现在看来它确实已经老了,它的儿子孙子都出来了,已经成为现在检索行列的主流,像solr,elasticsearch等,今天我们主要来看一个solr在as ...
- java collection与数组(Array)互转
先确定几个概念,这里说的数组元素,除基本类型数组外,并非指元素对象本身,而是它们的引用.换句话说,基本数组的元素是数值本身,非基本数组的元素都是一个地址(对应指针). 1.collection的元素不 ...
- Python正则表达
```# -*- coding:utf-8 -*-import re re - Support for regular expressions (RE).正则表达式是一个特殊的字符序列,它能帮助你方便 ...
- [转]ASP.NET Web API系列教程(目录)
本文转自:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html 注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP ...
- Unity 基础
Unity 基础是unity入门的关键.他将讲解Unity的界面, 菜单项,使用资源,创设场景,并发布版本. 当你读完这段,你将理解unity是怎么工作的,如何有效地使用它,并且完成一个基本的游戏. ...
- 监控节点 xml写入数据库 存储过程
USE [Appserver] GO /****** Object: StoredProcedure [AppServer].[ImportNodeRelationData] Script D ...
- 运行jsp时,报错404
The origin server did not find a current reprsentation for the target resource or is not willing to ...