摘要:
这题给定一个系列的石头,求去除一些石头后,相邻两个石头的距离最小值最大。一个判定的贪心规则就是当枚举长度为D的时候,那么我们查看[0, 1]的距离是否大于D,如果小于的话,那么就直接删除掉1号点,再判定[0,2]是否满足,如果[0,2]满足了的话,那么就把2作为起点继续即可。代码如下:#include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include < 阅读全文
posted @ 2012-09-13 21:31
沐阳
阅读(219)
评论(0)
推荐(0)
摘要:
相当于表达式计算一般,用递归进行处理,将BEGIN视作是一个LOOP,每次进入LOOP则进行多条语句处理,知道遇到END位置,结束这个LOOP。代码如下:#include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <string>#include <map>#include <queue>#include <v 阅读全文
posted @ 2012-09-13 19:45
沐阳
阅读(238)
评论(0)
推荐(0)
摘要:
求一个数形如 A^B 的所有因子和对9901的模。我们首先得到A的素因子分解形式p1^e1*p2^e2...pn^en 它的B次方就是p1^E1*p2^E2...pn^En,其中Ei = ei*B。其素因子的和就是(p1^0+p1^2+p1^3+...+p1^E1)*(p2^0+p2^2+p2^3+...+p2^E2)*... 对于其中的一项进行二分计算即可。注意大质数的存在。代码如下:#include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#include 阅读全文
posted @ 2012-09-13 12:15
沐阳
阅读(259)
评论(1)
推荐(0)
摘要:
给定一个串,两个串有A,T,G,C组成,求其两两配对,可以各自插入如干个空格,求最后的和值得最大值。可以定义如下状态,f[i][j]表示1串到第i位,2串到达第j位通过各自补充空格达到一一配对的最终最大值,这就意味着f[3][0]也是有意义的,表示1串的前三个与三个空格的最终结果。刚开始做的时候就是认为长的一个串一定不要添加空格导致后面否定了一些状态。那么有状态转移方程f[i][j] = max{ f[i-1][j]+val[s1[i]]['-'], f[i][j-1]+val['-'][s2[j]], f[i-1][j-1]+val[s1[i]][s2[j]] 阅读全文
posted @ 2012-09-13 10:29
沐阳
阅读(195)
评论(0)
推荐(0)