随笔分类 - 数据结构
摘要:n <= 10 爆搜即可 n <= 50 什么乱搞 n <= 400 有一个 的 dp 设 dp[i][j] 表示最后一段为 j+1~i 时的最小值 直接三层循环转移即可 dp[1][0] = 0; for(int i = 1;i <= n;i ++) { dp[i][0] = qi[i
阅读全文
摘要:被这道题搞了一个晚上,还好搞出来了qwq 令人耳目一新的阅读体验 题目简述 翻译已经很简单了。 前置知识 DFS序,LCA,线段树,不需要标签中的树剖! DFS序更新信息及判断祖先 如果你还不知道DFS序的话,我可以简单地讲一讲。 我们遍历一整棵树,设一个二维数组 h[i][0/1] 和tot,在第
阅读全文
摘要:1 :长链剖分的构造 推荐先行学习重链剖分 与重链剖分类似,我们设一个节点中深度最深的子节点为长节点,设该节点到长节点的边为重边,其他边为轻边 然后我们把首尾相连的重边组成长链,落单的一个节点也被视作一条长链 我们就把树分成了若干条互不相交的长链 2:长链剖分的性质 树上所有长链长度和为n 互不相交
阅读全文