取火柴的游戏
题目1:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,
可将一堆全取走,但不可不取,最后取完者为胜,求必胜的方法。
若sum=0;则先取者输,后取者胜;
若sum=!0,则先取者使其变成奇异状态,先取者胜
即谁先面临奇异状态谁输;
题目2:今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,
可将一堆全取走,但不可不取,...
分类:
其他好文 时间:
2014-07-28 16:30:13
阅读次数:
240
题目大意:
在一个序列上每次修改一个值,然后求出它的最大的子序列和。
思路分析:
首先我们不考虑不成环的问题。那就是直接求每个区间的最大值就好了。
但是此处成环,那么看一下下面样例。
5
1 -2 -3 4 5
那么你会发现 max = sum - min
也就是和减去最小区间和也可以得到。
所以我们最后要得到的就是两个东西。注意题目中说的不能全部取得。所以还要判断...
分类:
其他好文 时间:
2014-07-28 16:24:13
阅读次数:
244
原创文章,链接:
(I) connection.py
负责根据setting中配置实例化redis连接。被dupefilter和scheduler调用,总之涉及到redis存取的都要使用到这个模块。
(II) dupefilter.py
负责执行requst的去重,实现的很有技巧性,使用redis的set数据结构。但是注意scheduler并不使用其中用于在这个模块中实现的dupe...
分类:
其他好文 时间:
2014-07-28 16:10:23
阅读次数:
395
两个栈,光标前的元素一个栈,光标后的元素一个栈
sum[i]记录从1~i个元素之和,动态规划的状态方程是 dp[i] = max( dp[i-1], sum[i] ),dp[i]记录前i个元素的最大和值。
#include
#include
#include
#include
#include
#include
#include
using namespace std;
cons...
分类:
其他好文 时间:
2014-07-28 16:07:03
阅读次数:
240
题目:n个人中取出k个人组成一个小组,并且其中有一名组长,问有多少种取法。
分析:分治、组合数学。F(n) = C(n,1)*1 + C(n,2)*2 + ... = sum(C(n,i)*i)
推导:C(n,i)*i=n*...*(i+1)/ [i*(i-1)*...*1] * i=n * [(n-1)*...*i]/ [i*...*1]=C(n-1,i)*n...
分类:
其他好文 时间:
2014-07-28 15:47:43
阅读次数:
226
题目:Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your ma....
分类:
编程语言 时间:
2014-07-28 11:34:40
阅读次数:
210
1.1文学程序文学程序(literate program):接口及其实现的代码与对其进行解释的正文交织在一起。文学程序由英文正文和带标签的程序代码块组成。例如,1 〈compute x * y〉≡ 2 sum = 0; 3 for (i = 0; i 2...
分类:
其他好文 时间:
2014-07-28 03:02:10
阅读次数:
225
//一个数如果恰好等于它的因子之和,这个数就称为"完数"。(因子:除去这个数本身正的约数)//例如6=1+2+3.编程找出1000以内的所有完数classTestWanShu{publicstaticvoidmain(String[]args){intsum=0;for(inti=1;i<=1000;i++){for(intj=1;j<i;j++){if(i%j==0){sum+=j;}..
分类:
其他好文 时间:
2014-07-28 00:41:29
阅读次数:
165
开始的时候是暴力dfs+剪枝,怎么也不行。后来参考他人思想:
先求出每个点之间的最短路(这样预处理之后的搜索就可以判重返回了),截肢还是关键:1最优性剪枝(尽量最优:目前的状态+预计还有的最小时间>min就return !),2:可行性截肢:如果当前状态+预计状态已经不可行,return。(注意考虑是 continue,还是 return !).以及放的位置!在出口放的效果一般好一些(不在下...
分类:
其他好文 时间:
2014-07-28 00:24:49
阅读次数:
227
UVA 1510
题目链接
题意:给定一些点两两相连,已知每两点连接是红色还是蓝色,问同色三角形有多少个
思路:由于不同色三角形也有两边同色,直接考虑不好考虑,反过来考虑,先找出不同色三角形,对于每个点而言,找一个红边和一个蓝边就能构成不同色三角形,那么每个三角形被选了3次,其中一次是同色的不用考虑,所以最后答案除以2,然后在用总情况数C(n, 3) - sum即可
代码:...
分类:
其他好文 时间:
2014-07-28 00:13:00
阅读次数:
495