08 2016 档案

摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=5384 思路:没学自动机时以为是道KMP然后就tle了好几把,AC自动机模板题 阅读全文
posted @ 2016-08-12 16:55 pter 阅读(148) 评论(0) 推荐(0)
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222 思路:裸AC自动机,直接贴代码做模板 阅读全文
posted @ 2016-08-12 16:52 pter 阅读(145) 评论(0) 推荐(0)
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=1300 思路:用dp[i]表示前i种花费最低的情况,则有dp[i]=min(dp[i],dp[j+1]+((sum[i]-sum[j+1]+10)*p[j]) 阅读全文
posted @ 2016-08-11 10:14 pter 阅读(125) 评论(0) 推荐(0)
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=1501 思路:题目要求第三个串由前两个组成,且顺序不能够打乱,搜索大法好 阅读全文
posted @ 2016-08-08 14:57 pter 阅读(189) 评论(0) 推荐(0)
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=1502 思路:给定一个n,分别由n个a,b,c组成的字符串的所有前缀中a的个数大于等于b的个数大于等于c的个数,求满足这一条件的字符串的个数有多少,本题要用到dp及大数运算,转移方程:dp[i][j][k]= 阅读全文
posted @ 2016-08-08 14:04 pter 阅读(381) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1503 思路:这是一道最长公共子序列的题目,当然还需要记录路径。把两个字符串的最长公共字串记录下来,在递归回溯输出的时候,要是两个字符是公共子串,就只输出一次,要不是,就分别把位于相同位置的两个字符串的字 阅读全文
posted @ 2016-08-03 15:44 pter 阅读(140) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=1651 思路:除了头尾两个数不能取之外,要求把所有的数取完,每取一个数都要花费这个数与相邻两个数乘积的代价,需要这个代价是最小的 用dp[i][j]表示区间[i,j]的最小代价,那么就有dp[i][j]=min(dp[i][k]+dp[ 阅读全文
posted @ 2016-08-03 09:49 pter 阅读(145) 评论(0) 推荐(0)
摘要:链接:http://poj.org/problem?id=3280 思路:题目给出n种m个字符,每个字符都有对应的添加和删除的代价,求出构成最小回文串的代价 dp[i][j]代表区间i到区间j成为回文串的最小代价,那么对于dp[i][j]有三种情况: 1、dp[i+1][j]表示区间i+1到区间j已 阅读全文
posted @ 2016-08-02 16:53 pter 阅读(165) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=2955 思路:括号匹配问题,求出所给序列中最长的可以匹配的长度(中间可以存在不匹配的)例如[(])]有[()]符合条件,长度为4 dp[i][j]代表从区间i到区间j所匹配的括号的最大个数,首先,假设不匹配,那么dp[i][j]=dp[ 阅读全文
posted @ 2016-08-01 15:53 pter 阅读(122) 评论(0) 推荐(0)