区间动归
programmy
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、PS等软件的安装与卸载,精通CSS、JavaScript、PHP、C、C++、C#、java、Ruby、Perl、Lisp、python、Objective-C、ActionScript等单词的拼写,熟悉windows、Linux、Mac、Android、IOS等系统的开关机。欢迎各大公司HR与本人联系。
展开
-
【精】POJ 3267 The Cow Lexicon(区间动归)
poj 3267 题目大意 给你一个字母序列L(2 ≤ L ≤ 300),以及W个单词 (1 ≤ W ≤ 600) ,问最少去掉多少字母使得剩下的序列都是由单词组成的。分析 这道题是在做拓扑排序的时候出现的,看了之后怎么都感觉和拓扑没太大关系,于是就没管拓扑了。这种题看着就想动归,算是动态规划的基本题型吧。 动态规划的几个特点:相同子问题 最优子结构 无后效性 这里就借这道题写一下分析动态规划的原创 2016-08-20 19:38:23 · 781 阅读 · 0 评论 -
POJ 1159 Palindrome(区间动归 滚动数组)
题目链接POJ 1159题目大意 给定长为n(n≤5000)(n\le 5000)的字符串,让你求至少添加多少个字符能够使它变成回文串。 分析很明显的一道区间动规题,一开始的思路是用dp[i][j]表示从下标i到下标j变成回文串所需的最小字符: 状态的转移就是: {if(s[i]==s[j]),else,dp[i][j]=dp[i+1][j−1]dp[i][j]=min(dp[i+1][j]原创 2016-12-03 23:37:22 · 546 阅读 · 0 评论 -
POJ 1080 Human Gene Functions(LCS变形)
POJ 1080 Human Gene Functions题目大意 求两基因的相似度,可以在每个基因对中加入若干空格,每个字母与其他字母或自身和空格对应都有一个打分,则相似度就是最大的得分和 分析LCS变形,我采用的是递归的写法 dp[i][j]表示第一串前i个字符,第二串前j个字符匹配所能得到的最大分数和。状态和状态的转移都类似于最长公共子序列问题(LCS)只是字符和字符匹配的分数不是固定的原创 2017-02-01 19:55:46 · 297 阅读 · 0 评论 -
CF 833B(动态规划优化DP)
题目大意 一个长度为n的序列a[i]a[i],让你把它分成k份,将每份中不同的数的个数求和,问这个最大的和是多少. 1≤n≤35000,1≤k≤501\le n\le 35000,1\le k \le 50分析看见这道题我们很容易想到从动态规划的角度思考。 这道题类似于n个乘号,题目中说分成k份,那么我们可以通过k-1份的状态来得到份数是k的时候的状态. 设d[k][i]d[k][i]原创 2017-08-11 15:12:25 · 1224 阅读 · 1 评论 -
HDU 6078 Wavel Sequence(区间动归 17多校第四场)
题目大意 定义波浪序列为满足a1<a2>a3<a4...a_1<a_2>a_3<a_4...的序列,现在给出两个数组a(长为n)和b(长为m),从a中选出满足波浪序列一个子序列f,b中选出满足波浪序列的子序列g,求有多少中选法满足f=g。 数组长度n,m≤2000n,m\le 2000,a[i]、b[i]≤2000a[i]、b[i]\le 2000分析题目很像最长公共子序列,从动态规划原创 2017-08-05 18:53:07 · 429 阅读 · 0 评论