摘要:
Codeforces274B 做法:树形dp,$up[u]$至少加多少次, $down[u]$ 至少减多少次可以消去u这棵子树 转移:首先$up[u] = max(up[v]), down[u] = max(down[u])$,因为为了消除整颗子树一定要选最多的次数才能消完,那么现在这个节点的$a[ 阅读全文
摘要:
HDU5693 做法: 1. 同hdu2476也时两次dp的题,首先可以列出方程$f[i] = max(f[i 1], max(f[j 1]+(i j+1)) can[j][i])$,$can[j][i]$表示从j到i能否完全消除。 2. 现在考虑如何求出$can[l][r]$,还是区间dp,任何一 阅读全文
摘要:
HDU2476 做法: 1. 先想到用$f[i]$表示A的前i个字符变成B的最少涂得次数,不难写出方程,当$A[i]≠B[i], f[i] = max(f[j 1]+cost[j][i])$, 当$A[i]=B[i]$时,$f[i]=f[j 1]$ , $cost[i][j]$ 表示将i到j涂成和B 阅读全文