摘要: 题目链接 状态奇差无比,sbt都能错一遍。 不动笔光想没有想到怎么做,画图之后发现一个很明显的性质…… 那就是两个开战的部落,其中一个是另一个的父亲。 所以在儿子那里加个权值。查询的时候树链剖分查询链上点权和,减去lca的点权(因为lca那如果有点权,代表的是lca和lca的父亲之间的那条边)。 阅读全文
posted @ 2018-01-30 21:15 Konoset 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目链接 博弈DP太喵了qwq 设f[i][j]表示剩下区间【i,j】要取,先手最大值 明显我们要从这区间里面拿个最大的 就等价于这段区间的前缀和,我们要给对手留下个最小的 就是f[i][j]=sum[i][j]-min(f[i+1][j],f[i+2][j]......f[j][j],f[i][j 阅读全文
posted @ 2018-01-30 20:24 Konoset 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目链接 这是一道考思维的好题。 一开始设f[i][j]是i个点刚好j层的方案数,死活调不出来,看题解发现可以改为<=j层的方案数,最后输出f[n][m]-f[n][m-1]就好了。 对于计算考虑左右子树分配,设i个点分给左子树,j个点分配右子树,注意枚举顺序,乘法原理搞一搞就好。 我拼尽全力只得了 阅读全文
posted @ 2018-01-30 15:10 Konoset 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题目链接 我脑子怕不是有坑qwqqq 用前缀和思想,dis[i]表示i离根的距离,那么修改操作其实是对x的子树区间加y/dis[x],查询的时候*dis[to]即可。 对付/0错的思路是建森林,然而这个地方我犯蠢了。 qwq。 阅读全文
posted @ 2018-01-30 09:37 Konoset 阅读(210) 评论(0) 推荐(0) 编辑