搜索 图论 贪心 动规 ——《挑战程序设计竞赛》《数据结构》黑书二选一数论 ——《编程珠玑》
《组合数学》开拓思维的好书 《编程之美》 还有网上的趣味数学题《编程珠玑(续)》计算几何的书还没找呢。其他的就是刷oj吧。这些书 像我这么懒的人
到何时能读完呢? Any day now。不管是c/c++方...
分类:
其他好文 时间:
2014-06-16 11:08:26
阅读次数:
151
一、问题描述
给玩家4张牌,每张牌牌面值在1~13之间,允许其中有数值相同的牌。采用加、减、乘、除四则运算,允许中间运算存在小数,并且可以使用括号,但每张牌只能使用一次,尝试构造一种表达式,使其运算结果为24.
如 输入:3 3 7 7 输出:(((3)/(7))+(3))*(7)二、程序实...
分类:
其他好文 时间:
2014-06-11 09:50:30
阅读次数:
284
今天无聊拿起《编程之美》看了下,发现原来n&(n-1)还有很多妙用。n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子:n
= 10100(二进制),则(n-1) = 10011 ==》n&(n-1) =
10000可以看到原本最低位为1的那位变为0。弄明白了n&(n-1...
分类:
其他好文 时间:
2014-06-10 21:20:06
阅读次数:
217
其实编程之美也有类似的题,这道题是编程珠玑第二章的题目。题目描述:给定一个字符串,将字符串循环移位K次。最简答的方法就是,通过O(n)的辅助空间,将数组循环移位,时间复杂度就是O(n)但是如果要求空间复杂度为O(1)呢?观察规律可知,对前K位反转以及后面的反转,最后对整个字符串反转就能达到O(1)的...
分类:
其他好文 时间:
2014-06-10 21:02:52
阅读次数:
275
一、问题描述 平面上有n个点,如何寻找距离最远的两个点?二、解题思路
第一步,寻找凸包(因为最远距离的两个点一定在凸包上) 第二步,用旋转卡(qia)壳 寻找距离最大的点
凸包和旋转卡壳算法参见http://blog.csdn.net/kaytowin/article/details/514...
分类:
其他好文 时间:
2014-06-10 15:08:37
阅读次数:
231
给定一个包含N个整数的数组,求数组的子数组之和的最大值。...
分类:
其他好文 时间:
2014-06-10 11:18:42
阅读次数:
154
《最强大脑》有一期,中间插入娱乐,章子怡记住场上每个人的击球数和进球情况。 比如 第一个人:
第1个球进了,第2个球没进, 第3个球进了,第4个球没进。 记为 0101-5 第二个人: 第1个球没进,第2个球没进, 第3个球进了,第4个球进了。 记为
1100-12 ...她只需要记住 5, 12 ...
分类:
其他好文 时间:
2014-06-09 20:25:43
阅读次数:
190
一、问题描述
任意给定一个正整数N,求一个最小正整数M(M>1),使得N*M的十进制形式只含1和0。 比如 N=99,M=1 122 334 455 667 789
,N*M=111 111 111 111 111 111; M就是当N=99时,符合条件的数二、解题思路 考虑将问题转化为:找...
分类:
其他好文 时间:
2014-06-09 15:58:12
阅读次数:
236
求一个数组中的最大值和最小值,我们一般的做法是扫描一遍数组求的最大值,扫描一遍数组求最小值,这样做需要比较2N次才能求解。而实际上我们可以比较1.5N次即可得到结果。考虑如下几种方法。
方法一:
我们可以把数组分成两部分,首先按照顺序将数组中的相邻的两个数分在同一组,接着比较同一组中奇数位上的值和偶数位上的值,将较大的放在偶数位上,较小的放在奇数位上,这样经过0.5N次比较后,最大数肯定在偶数位上,最小的数肯定在奇数位上,而后分别扫描一遍数组的偶数位和奇数位,便可得到最大值和最小值。这样,...
分类:
其他好文 时间:
2014-06-08 14:42:42
阅读次数:
212
一、问题描述
给定一个十进制数N,写下从1开始,到N的所有整数,然后数一下之中所有“1”的个数。 例如:
N=12,(1,2,3,4,5,6,7,8,9,10,11,12)共有5个1二、解题思想
假设N=abcde为一个整数,a,b,c,d,e分别对应十进制数,如果要计算(1到N)百位出现1...
分类:
其他好文 时间:
2014-06-08 00:00:15
阅读次数:
278