随笔分类 - 动态规划
摘要:题面 给你两个由'a'到'z'组成的字符串,长度均不超过80,按字典序输出它们的所有的最长公共子序列的方案,保证方案数不超过1000。 链接:http://poj.org/problem?id=1934 思路 开始看到这道题时,一想不就是一道暴力吗,用$f_i,_j$按字典序保存A串的前i个字符与B
阅读全文
摘要:题面 给你一个n m的矩阵,要求每一行选择一个数,并且第i行选择的位置a[i]一定要大于第i 1行选择的位置a[i 1],求选取的数的总和为多少,输出一组字典序最小的a[1]到a[n]。1 using namespace std; const int N=110; typedef long long
阅读全文
摘要:题面 给你一个长度为n的序列,求这个序列的最长下降子序列的长度以及方案数。1a_i}^{i 1} \end{matrix} f_k,_{j 1}$ 但很明显,这是O$(n^3)$,会超时。dp有一个很常用的优化就是舍去冗余状态,我们考虑对于到i为止的最长下降子序列,它只可能由到k(1$a_i$,k
阅读全文
摘要:题面 给定一个n个正整数的序列{$a_n$},在这个序列上我们可以执行收缩操作。一次收缩操作可指定一个i,使$a_i$ $a_{i+1}$替换$a_i$,$a_{i 1}$。对于n个整数的序列,我们可以执行n 1个不同的收缩操作,每个收缩操作都会产生一个新的长度为n 1序列。现给定序列{$a_n$}
阅读全文

浙公网安备 33010602011771号