随笔分类 - 动态规划---杂题
摘要:CSP2019题解 格雷码 按照生成的规则模拟一下即可。 "代码" 括号树 看到括号匹配首先想到用栈,然后又在树上就可以想到可追溯化栈。 令$a_i=1$表示$i$号节点上的括号为 ,否则为 , 记栈为$stk$,其中元素个数为$top$。 设$f_i$表示加上节点$i$所对应的括号所增加的贡献,$
阅读全文
摘要:【UVA1057】Routing 题面 "洛谷" 题解 有一个比较好想的dp就是$f_{i,j}$表示第一个点在$i$,第二个点在$j$的最小点数,但是直接搞不好转移。 考虑建出反图,那么$j$表示在反图上的点$j$其实是和正图上的是一样的。 这样子的话我们枚举出边转移: $$ f[v][u2]=f
阅读全文
摘要:【BZOJ1003】[ZJOI2006]物流运输 题面 "洛谷" "bzoj" 题解 设$f_i$表示前$i$天花费的最小值。 我们设第$l,r$天$1$到$m$的距离为$dis_{l,r}$,这个可以$n^2$遍最短路求出。 那么转移就很显然了: $$ f_i=\min_{j=0}^{i 1} f
阅读全文
摘要:【BZOJ3197】[SDOI2013]刺客信条 题面 bzoj 洛谷 题解 关于树的同构,有一个非常好的性质: 把树的重心抠出来,那么会出现两种情况: 1.有一个重心,那么我们直接把这个重心作为树的根。 2.有多个重心,这些重心一定有一条边相连,设重心为$u,v$,那么把$u,v$断开,用一个新的
阅读全文
摘要:【CF813D】Two Melodies 题面 洛谷 题解 $dp$: 设$f[i][j]$表示第一个集合以$i$结尾、第二个集合以$j$结尾的合法长度之和最大是多少 明显有$f[i][j]=f[j][i]$ 所以不妨设$i<j$ 暴力就是$O(n^3)$的 然后因为合法的转移只有它的绝对值相差一或
阅读全文
摘要:【BZOJ1048】[HAOI2007]分割矩阵 题面 "bzoj" "洛谷" 题解 $dp[a][b][c][d][num]$表示将矩形$(a,b,c,d)$分成$num$个的最小方差,然后转移即可 cpp include include include include include inclu
阅读全文