鸽巢原理又名抽屉原理一种简单的表述法为:若有n个笼子和n+1只鸽子,所有的鸽子都被关在鸽笼里,那么至少有一个笼子有至少2只鸽子。另一种为:若有n个笼子和kn+1只鸽子,所有的鸽子都被关在鸽笼里,那么至少有一个笼子有至少k+1只鸽子。例子:盒子里有10只黑袜子、12只蓝袜子,你需要拿一对同色的出来。假...
分类:
其他好文 时间:
2015-04-15 13:15:39
阅读次数:
146
世界末日
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述世界末日马上就要来临了,当然,每个人都想买到船票,但是由于船票有限,因此需要回答对一个问题才能买票。问题是这样的:给你一个数n (1 <= n <= 10000),之后给n个正整数 (<= 10000),问在这n个数中是否存在一些数的和是n的倍数。
输入多组测试数据(最多100...
分类:
其他好文 时间:
2015-02-03 15:04:54
阅读次数:
122
求出n的倍数m,要求m使用的不同数字最少,且最小。一开始不知道怎么搜,因为不知道m由多少个不同的数字组成。然后百度了一下,看到和数论有关。m可能使用的数字的个数可能为一个或者两个a,aa,aaa....n+1个a, 将这些数%n,那么肯定有两个余数相等,抽屉原理。那么这两个数相减,得到的数肯定是n的...
分类:
其他好文 时间:
2015-02-01 13:24:29
阅读次数:
213
给定一个数组a[n],要你求出数组中最小的|a[i]-a[j]|如果只有一个元素就返回0。
貌似是微软的面试题,估计大多数人首先想到的就是排序之后再比较吧,呵呵,是个人都会做。那面试官考你这个问题有毛线意义,这题我们可以用抽屉原理(也叫鸽巢原理)将n个元素放到n+1个桶中(只需要O(n)时间)。按如下过程求解:
1首先找出数组中最大的和最小的元素,如果相等,直接返回0
2确定每个桶的大小bu...
分类:
编程语言 时间:
2015-01-24 15:51:44
阅读次数:
426
背景:1_WA:忘了每个答案之间有一个空白行!2_WA:没看见等号左右两边都有空格!!!!!!!!
思路:整数和小数分开来求,整数部分直接用整型除法,小数部分:分子=(分子%分母)*10.并且把每个分子储存在str[0]中,当出现已经出现过的分子时,小数部分开始循环!
学习:
1.巢鸽原理(抽屉原理,狄利克雷原则):
简单的描述:如果有n个笼子,n+1只鸽子居住,则至少有一个笼子有两只鸽...
分类:
其他好文 时间:
2015-01-22 18:03:13
阅读次数:
151
这题用抽屉原理写起来真的很简单,从中也明白数学的重要性。
几个抽屉原理如下:
原理1 把多于n个的物体放到n个抽屉里,则至少有一个抽屉里的东西不少于两件;
原理2 把多于mn(m乘以n)个的物体放到n个抽屉里,则至少有一个抽屉里有不少于m+1的物体。
原理3 把无穷多件物体放入n个抽屉,则至少有一个抽屉里 有无穷个物体。.
原理 4 把(mn-1)个物体放入n个抽屉中,其...
分类:
其他好文 时间:
2015-01-09 09:21:59
阅读次数:
224
鸽巢原理,又名狄利克雷抽屉原理、鸽笼原理。 其中一种简单的表述法为: 若有n个笼子和n+1只鸽子,所有的鸽子都被关在鸽笼里,那么至少有一个笼子有至少2只鸽子。 另一种为: 若有n个笼子和kn+1只鸽子,所有的鸽子...
分类:
其他好文 时间:
2014-12-31 18:41:12
阅读次数:
246
从POJ 2356来体会抽屉原理的妙用= =!题意:给你一个n,然后给你n个数,让你输出一个数或者多个数,让这些数的和能够组成n;先输出一个数,代表有多少个数的和,然后再输出这些数;题解:首先利用前缀和先预处理一下,然后如果sum[i]==0的话,很显然就直接输出i,然后接下来从第一位一直输出到第i...
分类:
其他好文 时间:
2014-11-11 21:06:09
阅读次数:
140
FactoryOne industrial factory is reforming working plan. The director suggested to set a mythical detail production norm. If at the beginning of the d...
分类:
其他好文 时间:
2014-11-06 14:19:09
阅读次数:
298