该文被密码保护。 阅读全文
posted @ 2016-10-25 19:24 xqmmcqs 阅读(13) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-10-25 13:41 xqmmcqs 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1087 题解: 刚开始光想着爆搜、打表,观摩大犇们的博客,才薛习了正解:状态压缩DP 对于每一格,只有放国王或者不放国王两种可能,所以一行的状态可以表示为一个01串,可以想到压缩成一个十进制数 阅读全文
posted @ 2016-10-24 22:22 xqmmcqs 阅读(337) 评论(0) 推荐(1) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/2988/ 题解: 首先,题目有误,少了一个添加操作 和求解LCS之类的思路类似 f[i][j]表示a序列中1..i的部分和b序列中1...j的部分的编辑距离,得: (1)i==0,j==0时,f[i][j]=0; (2)i== 阅读全文
posted @ 2016-10-20 22:50 xqmmcqs 阅读(481) 评论(0) 推荐(1) 编辑
摘要: 1、1759 最长上升子序列 2、1768 最大子矩阵 3、1775 采药 4、1808 公共子序列 5、1944 吃糖果 6、1996 登山 7、2000 最长公共子上升序列 8、2718 移动路线 9、2728 摘花生 10、2985 数字组合 11、2988 计算字符串距离 阅读全文
posted @ 2016-10-20 22:50 xqmmcqs 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/2985/ 题解: 跟背包问题有点相似,暂且算背包型DP吧,虽然是一道递推题…… fj表示和为j时的结果,得: 即为j减去每一个数的情况 (word的公式编辑好好用……) [ATTENTION]和背包问题相似的一点是,第二层循环 阅读全文
posted @ 2016-10-20 20:42 xqmmcqs 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/2728/ 题解: 某一个点只能从其左边或者上边走过来 f[i][j]存储(i,j)这个点上的结果,即f[i][j]=max(f[i-1][j],f[i][j-1])+a[i][j] 阅读全文
posted @ 2016-10-20 18:49 xqmmcqs 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/2718/ 题解: 递推,某一个点只能从其左边或者下边走过来 f[i][j]存储(i,j)这个点上的结果,即f[i][j]=f[i-1][j]+f[i][j-1] 阅读全文
posted @ 2016-10-20 18:22 xqmmcqs 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/2000/ 题解: 裸题,不解释(题目有毒) 阅读全文
posted @ 2016-10-20 18:15 xqmmcqs 阅读(1003) 评论(0) 推荐(0) 编辑
摘要: 有关概念: 最长公共上升子序列(LCIS),两个或者两个以上序列的所有共同上升子序列最长的一个(又好像和没解释没什么区别) 思路: 对于两个序列a,b f[i][j]表示a序列中1..i的部分和b序列中1...j的部分的LCIS 那么易得,对于f[i][j]: (1)如果ai!=bj,则直接将f[i 阅读全文
posted @ 2016-10-20 18:10 xqmmcqs 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/1996/ 题解: 正反求两次LIS即可 阅读全文
posted @ 2016-10-20 16:46 xqmmcqs 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/1944/ 题解: 递推,题目中给出了很详细的过程,不讲解 其实我还爱着打表~ 阅读全文
posted @ 2016-10-20 16:41 xqmmcqs 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/1808/ 题解: 裸题…… 阅读全文
posted @ 2016-10-20 16:24 xqmmcqs 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/1775/ 题解: 很经典的01背包问题,设时间为t,价值为v 一维压缩,状态转移方程fj=max(fj,fj-ti+vi) 阅读全文
posted @ 2016-10-20 16:14 xqmmcqs 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/1768/ 题解: 如果用O(n4)的算法肯定会炸,需要压缩掉一维的空间,只需要简单加和就好啦 例如,我们要对样例中第2-4行DP,就这样压缩: 然后利用区间DP中求最大子序列和的状态转移方程fi=max(fi-1+ai,ai) 阅读全文
posted @ 2016-10-20 16:05 xqmmcqs 阅读(969) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://noi.openjudge.cn/ch0206/1759/ 题解: 奇怪……之前博客里的o(nlogn)标程在codevs和tyvj上都能AC,偏偏它这里不行 阅读全文
posted @ 2016-10-20 15:41 xqmmcqs 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://tyvj.cn/p/1050 题解: 裸题,只是为了测试LCS模板写对没有…… 阅读全文
posted @ 2016-10-20 00:43 xqmmcqs 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 有关概念: 最长公共子序列(LCS,Longest Common Subsequence),两个或者两个以上序列的所有共同子序列最长的一个(好像和没解释没什么区别) 思路: 对于两个序列a,b f[i][j]表示a序列中1..i的部分和b序列中1...j的部分的LCS 那么易得,对于f[i][j]: 阅读全文
posted @ 2016-10-20 00:40 xqmmcqs 阅读(146) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-10-18 00:22 xqmmcqs 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 有关概念: 最长上升子序列(LIS,Longest Increasing Subsequence),在一个序列中最长的单调递增的子序列 思路: 求LIS通常有O(n2)和O(nlogn)两种算法 (1)O(n2)算法 fi表示以第i个数结尾的LIS长度 对于序列中的一个数i,在i前面枚举数j,j满足 阅读全文
posted @ 2016-10-17 23:56 xqmmcqs 阅读(1230) 评论(0) 推荐(0) 编辑