题目链接:uva 10561 - Treblecross
题目大意:n个格子排成一排,其中一些格子有'X',两个游戏者轮流操作,在格子中放X,如果此时出现连续3个X,则获胜。给出先手是否可以取胜,取胜方案的第一步该怎么走。
解题思路:一个X可以导致左右两个的两个格子都不能再放X,因为如果出现XX.、.XX、X.X,那么下一个人肯定胜利。所以对于长度为n的格子序列,g(x)=maxg(x...
分类:
其他好文 时间:
2014-08-06 01:58:20
阅读次数:
199
这个问题是算法导论的一个示例,为了讲解分治。 1 //算法导论中的分治策略版本 2 3 4 #include 5 using namespace std; 6 int maxCrossSum(int a[], int begin, int mid, int end) 7 { 8 int ...
分类:
其他好文 时间:
2014-08-06 01:48:10
阅读次数:
195
DescriptionStacking BoxesBackgroundSome concepts in Mathematics and Computer Science are simple in one or two dimensions but become more complex when ...
分类:
其他好文 时间:
2014-08-06 01:32:20
阅读次数:
275
题意 求两端文本的最长公共子单词序列 直接lcs增量法可以得出 打印路劲也是直接递归就行...
分类:
其他好文 时间:
2014-08-05 22:40:21
阅读次数:
248
http://www.nocow.cn/index.php/Translate:USACO/contact题目大意:给一个只含0和1的序列,统计每个子序列的重复次数,并按次数递减来输出考虑子序列时将序列前面加一个'1'然后转化成二进制整数,这样每个子序列与整数一一对应,统计二进制整数出现次数,按要求...
分类:
其他好文 时间:
2014-08-05 14:01:49
阅读次数:
689
题意:给你一系列个w,s,要你找到最长的n使得
W[m[1]]
and
S[m[1]] > S[m[2]] > ... > S[m[n]]
即在这n个w,s中满足w[i]s[j],要求:体重严格递增,速度严格递减,原始顺序不定
首先将s从大到小排序,即顺数固定后转化为最长上升子序列问题.
案例:
6008 1300
6000 2100
50...
分类:
其他好文 时间:
2014-08-05 11:12:06
阅读次数:
295
单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4
输入
第一行一个整数0
随后的n行,每行有一个字符串,该字符串的长度不会超过10000
输出
输出字符串的最长递增子序列的长度
样例输入
3aaaababcabklmncdefg
样例输...
分类:
其他好文 时间:
2014-08-05 09:39:58
阅读次数:
179
1.动态规划和子序列 1.1 动态规划的特征: a)最优子结构,求问题的解必须获取子问题的最优解; b) 重叠子问题,使用原始的递归存在大量的重复计算。 1.2 子序列的概念: a)子序列中的元素都是原字符串中的元素; b)子序列中元素的排列顺序,与他们在原字符串中的顺序...
分类:
其他好文 时间:
2014-08-05 03:00:08
阅读次数:
177
二维动规是如果只用到本层的和上一层的数据就可以用滚动数组
比如 dp[i,j]=max(dp[i-1,j],dp[i,j-1]);
max的意思就不多说了...
具体例子的话,比较经典的就是最长公共子序列,就是 abcde 和 aecd的最长公共子序列就是acd。
如果不是滚动数组的话就是
for i:=1 to length(st1) do
for j:=1 to length(st2)d...
分类:
其他好文 时间:
2014-08-05 00:48:38
阅读次数:
266
题意:求限定起始位置的二维最长递增子序列.解题思路:直接DP解题代码: 1 // File Name: 4d.cpp 2 // Author: darkdream 3 // Created Time: 2014年08月04日 星期一 19时24分49秒 4 5 #include 6 #...
分类:
其他好文 时间:
2014-08-05 00:18:48
阅读次数:
294