10 2024 档案

摘要:ddp题解,就是 \(f[pos][o][l][r]\) 表示线段树上pos位置的区间是否选出最大值,以及左右端点有没有被去到时的最大值。然后用线段树维护依次取某个值为最小值的时候dp的最优解。 const int N = 2e5 + 5; int T, n, a[N], f[N << 2][2][ 阅读全文
posted @ 2024-10-03 02:15 EternalEpic 阅读(133) 评论(0) 推荐(1)
摘要:第一次学ddp的时候是2019年学长带我们复盘noip2018的保卫王国那道题,当时自然是不大会的,也不是很有就业空间,这几天CF有道正解是dsu的序列dp题被哥哥用ddp艹了过去,所以现在得复习一下ddp。 我们先从经典的树剖做法引入(全局平衡二叉树做法在我更新LCT复习笔记后再补) ddp最经典 阅读全文
posted @ 2024-10-02 23:58 EternalEpic 阅读(62) 评论(0) 推荐(0)
摘要:首先,我们会有一个很简单的想法,枚举断边,产生两棵子树,然后在两棵树内分别求带权重心,计算贡献,这样的话复杂度是 \(O(n^2)\) 的。 那么我们要好好利用 $h \leq 100 $ 的性质。 考虑 \(sze[u]\) 为带权重量,\(g[u]\) 为以 \(u\) 为根的树,所有点都到 \ 阅读全文
posted @ 2024-10-01 23:42 EternalEpic 阅读(53) 评论(0) 推荐(0)