摘要: 状态表示: \(f(i,j)\):以$s_1[i]$和$s_2[j]$为结尾的两个子串$s_1[0 \sim i]$和$s_2[0 \sim j]$,它们的公共子串的长度。 遍历所有的$i,j$,其中最大的$f(i,j)$就是答案。 状态转移: \[ \begin{cases} f(i,j) = 0 阅读全文
posted @ 2021-04-14 23:39 Dazzling! 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 左移 在二进制表示下把数字同时向左移动,低位以$0$填充,高位越界后舍弃。 \[ 1 << n = 2^n , n << 1 = 2n \] 算术右移 在二进制补码表示下把数字同时向右移动,高位以符号位填充,低位越界后舍弃。 \[ n >> 1 = \lfloor \frac{n}{2.0} \rf 阅读全文
posted @ 2021-04-14 12:22 Dazzling! 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题意 一棵根为$S$的树,选择性切掉一些边,求使得所有的叶子都不能到达根的最小代价。 思路 树形$DP$。 树型$DP$本质上可以说是个搜索——遍历这棵树,在返回的时候维护相关的值。 不管是写$DP$还是写搜索其实都是要分析原问题和子问题分别是什么的,我们的原问题是以$S$为根的子树删掉权值和尽量小 阅读全文
posted @ 2021-04-14 09:15 Dazzling! 阅读(21) 评论(0) 推荐(0) 编辑