今天去讲课,讲着讲着发现自己忘怎么做了,脸丢尽了,呜呜呜
​​​铺设道路​​​ 考场上直接上的线段树 ,就是找到最小的,然后递归求解
​货币系统​​ 将货币排序,如果当前不能被表示,就把它加上,并且把背包的当前值域用它更新到下一个,这样下一个的时候就知道能不能被表示了,复杂度NOIP 2018 题解_复杂度
​赛道修建​​ 考虑二分答案,难就难在检验
有一种贪心就是在一棵子树中,尽量多凑成一整条道路,然后保留一条最长的与上面的合并,不妨用 NOIP 2018 题解_复杂度_02表示最长的长度
每次合并子树中的 NOIP 2018 题解_复杂度_02,就是将它们插入 NOIP 2018 题解_子树_04, 然后从第一个开始枚举,然后查 NOIP 2018 题解_子树_05,然后将它们删除
最后在 NOIP 2018 题解_子树_04 里面取一个最大的作为现在的 NOIP 2018 题解_子树_07
​旅行​​ 暴力枚举断边,然后 NOIP 2018 题解_复杂度_08 一遍看是不是一棵树,如果是就跟答案比一下
边先按儿子编号排好序,复杂度NOIP 2018 题解_子树_09
​填数游戏​​ 咕咕咕
NOIP 2018 题解_复杂度_10也是可观的分数,但是打表的思想还是要有
​保卫王国​​ 动态DP,考虑用树剖来维护
首先有 NOIP 2018 题解_子树_11, NOIP 2018 题解_子树_12
先不考虑重儿子的转移,令不考虑的为 NOIP 2018 题解_二分答案_13
NOIP 2018 题解_子树_14,NOIP 2018 题解_二分答案_15
用一个经典的满足结合律的矩阵乘法来转移(加变max,乘变加)
NOIP 2018 题解_子树_16
NOIP 2018 题解_子树_17
既然满足结合律就可以用线段树维护了
每次修改,先修改本身,再修改链顶,然后由链顶修改它 NOIP 2018 题解_二分答案_18NOIP 2018 题解_二分答案_19
然后继续这样做直到跳到根,复杂度NOIP 2018 题解_子树_20