poj 1836 2192 2593 动态规划
1836题意:求最长的先升后降序列
分析:
d1[i]记录a[1…i]的递增子序列长度,
d2[i]记录a[n…i]的递增子序列长度。
2593题意:求数组的最大两个子串的和
分析:前后分别执行一遍最大子串和
将1到i的最大和保存在Left[i]中,将n到i的最大和保存在Right[i]中
枚举分割点i Left[i]+Right[i+1]的最大值即为所求
2192题意:给三个字符串s1,s2,s3 问能不能用s1 s2的字母组合成s3 其中s1 s2中的字母相对顺序不能改变
例如cat tree 可以组成tcraete 但不能组成cttaree
分析:dp(i,j)表示当前处理到s1[i] s2[j]处,
dp(i,j)->dp(i+1,j) s1[i]==s3[i+j]
dp(i,j)->dp(i,j+1) s2[j]==s3[i+j]