Eric Way's Personal Site

I Write $\sin(x)$ Not Tragedies

树的启发式合并

对于一个树上问题,我们递归求解时需要将子问题的答案进行合并。如果求解时,我们需要利用若干大型数据结构(包括数组、map、set等)才能获得以... Read more

二维凸包

首先将所有点按横坐标、纵坐标排序,并删掉重复的点。然后分别求下凸壳和上凸壳。初始状态是点$P_0$和$P_1$。本质是单调队列,每次添加一个连边,保证删除队尾在凸包内的点。队尾的点在凸包内外,... Read more

决策单调性优化DP

考虑状态转移方程: $$ f(i)=\min_{j \le i} \{g(j)+w(i,j)\} $$ 其中最小值可能改为最大值;$j \le i$可能改为$j<i$或$j \... Read more

斜率优化DP

考虑如下形式的状态转移方程: $$ f(i) = \max_{j < i} \{ y(j) - x(j) k(i) \} +h(i) $$ 其中$x(j),y(j),k(i),... Read more

单调队列DP优化

考虑状态转移方程: $$ f(i)= \min _ {L(i)\le j \le R(i)} \{g(j)\} + h(i) $$ 其中$i\le N$, $j \le M$。显然暴... Read more

树上DP:换根法

更换树根会导致树的某个性质发生改变,而题目需要我们分别求出以每一点为根时,对应的性质的值。 Read more