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