上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 120 下一页
摘要: 这个状态的定义非常难想吧... $f[x][y]$ 表示以 $x$ 为根的子树中,其余点全部移到了应该移动到的位置,也建设了应该建设的仓库,而 $x$ 移动到 $y$ 的最小代价. 这里是事前钦定 $y$ 不建立仓库的. 那么,我们考虑如何从 $x$ 的儿子转移到 $x$: 若 $f[son][b] 阅读全文
posted @ 2020-01-01 09:14 EM-LGH 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 这个思路还是非常巧妙的. 困难在于我们需要同时维护以 $x$ 为分治中心,延伸出颜色相同/不同的最大值. 不同的话直接将权和相加,相同的话还需要减掉重复部分,这就比较难办. 但是我们发现,当以 $x$ 为分治中心时,$x$ 每一个儿子为根的子树的延伸颜色都是相同的. 所以我们可以将每一个点的所有儿子 阅读全文
posted @ 2019-12-31 15:05 EM-LGH 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一棵树,每次钦定一个点为根,求以这个点为根时每个点子树权和平方之和,有单点修改. 虽然有修改,但是没有换根操作(等于说每次询问时只换依次根) 我们初始的时候不妨令 $1$ 为根,并考虑当根为 $x$ 时与根为 $1$ 时的差别. 我们发现,当根为 $x$ 时,子树权和发生改变的只是 $1$ 阅读全文
posted @ 2019-12-31 10:06 EM-LGH 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 就是喜欢后缀自动机,yy了一个只用后缀自动机解决的方法. 对 3 个串建立广义后缀自动机,然后建立后缀树. 标记出每个点在0/1/2个串中是否作为子串出现,然后将后缀树中 2 串结尾的所有子树都设为危险节点. 然后对于 SAM 来一个拓扑序DP,我们开始的时候默认危险节点的最大值是 -inf,然后 阅读全文
posted @ 2019-12-31 08:52 EM-LGH 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 维护 $\sum_{}v[i]\times dep[i]$ 与 $\sum_{} v[i]\times dep[i]^2$ 其中 $dep[i]$ 表示 $i$ 点在该点所在 $LCT$ 的 $splay$ 中的中序遍历序. 然后正着维护一个,反着维护一个就行了. #include <cstdio> 阅读全文
posted @ 2019-12-30 20:28 EM-LGH 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 这个期望显然可以表示成总价值/总方案数. 然后我们用线段树依次维护 $\sum val[i]$,$\sum val[i]\times i$,$\sum val[i]\times i^2$ 即可. code: #include <cmath> #include <cstdio> #include <s 阅读全文
posted @ 2019-12-30 15:36 EM-LGH 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一个区间在线段树中会被分成 $O(\log n)$ 块,对于每一块都开一个 $vector$ 记录一下. 然后在删除操作结束后如果影响到的区间变为全 $0$,就扫一遍对应的 $vector$. #include <cstdio> #include <vector> #include <string> 阅读全文
posted @ 2019-12-30 11:11 EM-LGH 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 貌似是套路题. 假设给定我们一些区间,那么这些区间交集的左端点是左端点最靠右区间的左端点. 所以我们将所有区间按照左端点从小到大排序,然后用堆维护前 k 大的右端点. 那么,对于枚举到的第 $i$ 个区间来说,右端点就是第 $k$ 大的右端点与当前区间右端点的较小值. code: #include 阅读全文
posted @ 2019-12-28 16:51 EM-LGH 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 推一推式子后发现每个点不论走几步被访问到的概率都是 $\frac{d_{i}}{2m}$ code: #include <cstdio> #include <string> #include <algorithm> #define N 100070 #define ll long long #def 阅读全文
posted @ 2019-12-28 16:10 EM-LGH 阅读(131) 评论(0) 推荐(0) 编辑
摘要: code: #include <cstdio> #include <string> #include <algorithm> #define N 200007 #define ll long long using namespace std; namespace IO { void setIO(st 阅读全文
posted @ 2019-12-28 15:30 EM-LGH 阅读(110) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 120 下一页