pku2356 pku3370(鸽巢原理)
来源:互联网 发布:c语言三日通 pdf 编辑:程序博客网 时间:2024/05/20 16:09
http://162.105.81.212/JudgeOnline/problem?id=3370
http://162.105.81.212/JudgeOnline/problem?id=2356
定理:如果n+1个物体被放进n个盒子,那么至少有一个盒子包含两个或更多个物体。
应用:给定n个数a1,a2,...,an.则比存在整数k和l(0<=k<l<=n))使得a[k+1]+a[k+2]+....+a[l]能被n个数整除。
a1,a1+a2,a1+a2+a3,...,a1+a2+..+an. 若上面n个数中有能被n整除的。那么显然存在连续个的数之和能被n整除,从1--i。 否则,对每一个数对n模运算。得到n个数,但是我们知道余数只能是1-->n-1,所以由鸟笼原理知道,至少有两个数的余数相同。且设为k,l(k<l)使得,a1+a2+a3+....+ak与a1+a2+a3+..+al对n取模运算有相同的余数t, a1+a2+a3+....+ak=x*n+t; a1+a2+a3+..+al=y*n+t; 相减得a[k+1]+a[k+2]+....+a[l]=(y-x)*n,即能被n整除。 例子:n=5,分别为1,2,3,4,1 1,1+2,1+2+3,1+2+3+4,1+2+3+4+1 1,3,6,10,11 取模后,1,3,1,0,1 先判断有无取模后为0的情况,有所以为1,2,3,4 若无,取模相等的即结果; 下面的代码是用简单的hash表的,pku3370的,pku2356的代码差不多。
- pku2356 pku3370(鸽巢原理)
- PKU2356
- 鸽巢原理(抽屉原理)
- 鸽巢原理(The Pigeonhole Principle)(抽屉原理)
- POJ2356 Find a multiple 抽屉原理(鸽巢原理)
- Codeforces 577B,鸽巢原理(抽屉原理)
- HDU 5776 SUM (鸽巢原理 / 抽屉原理)
- URAL 1032抽屉原理(鸽巢原理)
- 抽屉原理( 鸽巢原理、重叠原理、狄利克雷)笔记记录
- 浅谈容斥原理鸽巢原理(抽屉原理
- 归纳原理和鸽巢原理
- poj 2356(鸽巢原理。。。。。)
- POJ-3370(鸽巢原理)
- 鸽巢原理(Pigeonhole Principle)
- 1205 吃糖果(鸽巢原理)
- hdu1205 吃糖果 (鸽巢原理)
- hdu1205 吃糖果(鸽巢原理)
- hdu 5776 sum (鸽巢原理)
- 基于Html5的Canvas实现的Clocks (钟表)
- Spring.net+Nhibernate配置好了web页面,但是用spring配置进去的类实例都是null
- JavaScript 用于验证(正则表达式)
- linux的Listen调用详解
- org.hibernate.hql.ast.QuerySyntaxException: unexpected token 的解决
- pku2356 pku3370(鸽巢原理)
- C语言指针2-指针的加减
- C#网络编程(基本概念和操作) - Part.1
- Next Generation Biology Through Next Generation Sequencing
- C#网络编程(同步传输字符串) - Part.2
- sql server 中如何取得连续数字中中断数字的最小个那个数字值
- 君欲善其事,必先利其器-替代串口双机调试的利器
- C#网络编程(异步传输字符串) - Part.3
- 上班累