上一页 1 ··· 50 51 52 53 54
摘要: 初看这道题,以为是先用SA和SC求LCS,再从SC中把SA剔除,看剩下来的是不是SB(……) 显然不对;因为SC与SA的公共子串不止一种,判断不一定正确。 于是考虑SC中每一个字符,如果能够匹配,那么不是SA中的就是SB中的; 定义bool s[i,j]为SA前i个,SB前j个能否组成SC前i+j个 阅读全文
posted @ 2013-11-30 15:54 acphile 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 经典的图论建模题; 先拿开的等级问题不看; 每个物品本身的价格就是有一个自定义源点到这个点距离; 有了A物品B物品优惠为W就代表由B到A的有向路权值为W; 最后的最小花费就是源点的点1的最短路径(酋长编号总是1); 然后我们再考虑等级问题。穷举每个点作为最高等级,相应的就可以确定哪些点不能访问,然后 阅读全文
posted @ 2013-11-30 15:33 acphile 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 其实这两题都是基础的线段树,但对于我这个线段树的初学者来说,总结一下还是很有用的; poj3468显然是线段树区间求和,区间更改的问题,而poj2528是对区间染色,问有多少种颜色的问题; 线段树的建立和求和附代码,还是比较简单的; 这里想说的是区间修改,用到了了lazy思想:打标记; 拿poj25 阅读全文
posted @ 2013-11-30 15:18 acphile 阅读(134) 评论(0) 推荐(0) 编辑
摘要: poj1000,poj1003,poj1004,poj1064,poj1218 水题 poj1012:0<k<14——漂亮的打表 poj1651:与能量项链很像的dp poj1159:回文词,正反序求LCS,然后再用原长减一下即可 poj3264:一看就知道的RMQ,ST,线段树均可 poj1092 阅读全文
posted @ 2013-11-30 14:39 acphile 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 这个贴代码容易理解一点: 1 var a:array[0..100] of longint; 2 f:array[0..100] of boolean; 3 s,i,p,j,n,max,k:longint; 4 check:boolean; 5 function dfs(i,now,t:longin 阅读全文
posted @ 2013-11-30 14:26 acphile 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 这题是dp还是dfs+记忆化?(其实好像没什么区别?) 用f[i,j]表示滑到(i,j)时之后最多能滑多远,依次穷举每一个起点(i,j)则 f[i,j]=max{f[i,j-1],f[i-1,j],f[i+1,j],f[i,j+1]}+1 (当然滑到那个点的高度要小于(i,j)的高度) 1 cons 阅读全文
posted @ 2013-11-30 13:59 acphile 阅读(142) 评论(0) 推荐(0) 编辑
摘要: poj1050:求最大子矩阵和 (n<=100)首先,先考虑最大连续子序列和这个问题,很容易用O(n)的算法解决;而一个子矩阵和,就相当于m个同长度连续子序列的和;则可以把问题转化为:将i~j行的矩阵每列求和,合并成一个序列;这i~j行宽为(j-i+1)的最大子矩阵和,就是对这个序列求最大连续子序... 阅读全文
posted @ 2013-11-30 13:58 acphile 阅读(88) 评论(0) 推荐(0) 编辑
上一页 1 ··· 50 51 52 53 54