Fork me on GitHub
摘要: "POJ3356 AGTC(最短编辑距离) " 题意 多测,每次给出两个长度分别为n和m的字符串s1,s2,有三种操作:增加、删除、修改一个字符,问将s1变成s2,最少要几次操作。 题解 dp[i][j]表示将s1的前i个字符变成s2的前j个字符所需要的最小操作数。 考虑dp[i][j]的三种来源: 阅读全文
posted @ 2020-03-19 15:52 qjy_73 阅读(109) 评论(0) 推荐(0)
摘要: "UVA10617 Again Palindrome " 题意 T组数据,每次给出一个字符串s,问它有多少个回文序列 题解 根据子串的长度,如果已知长度为len 1的字符串中所含回文子序列的个数,那么可以推出长度为len的字符串中回文子序列的个数。 dp[l][r]表示在区间[l,r]中的回文子序列 阅读全文
posted @ 2020-03-19 15:32 qjy_73 阅读(118) 评论(0) 推荐(0)
摘要: "Codeforces 1183H Subsequences (hard version) " 题意 给一个长度为n的字符串s,要求找出k个不相同的子序列,每个子序列的花费是n len(子序列长度),求最小花费。 题解 根据长度,找出所有长度为j的不同的子序列个数,然后长度再由大到小贪心的选取。 方 阅读全文
posted @ 2020-03-19 14:40 qjy_73 阅读(134) 评论(0) 推荐(0)
摘要: "Codeforces 1096D Easy Problem" 题意 给一个长度为n的字符串s,以及数组a,a[i]表示删除s[i]所需要的花费。问要让字符串s中不包含“hard”的子序列所需要的最小花费。 题解 dp[i][0]表示前i个字符中不包含'h'的最小花费,dp[i][1]表示前i个字符 阅读全文
posted @ 2020-03-19 14:10 qjy_73 阅读(168) 评论(0) 推荐(0)
摘要: "Codeforces 1087E Vasya and Templates " 题意 T组数据,每次给出一个整数k,三个字符串s,a,b(只包含前k个字母)。要求找出一个字符串p,满足以下条件: 1、是前k个字母的一个排列。 2、将p作用于s:如果s[i]是第j个字母(从'a'开始),那么将s[i] 阅读全文
posted @ 2020-03-19 13:38 qjy_73 阅读(204) 评论(0) 推荐(0)