06 2022 档案
摘要:一道典型的树型dp 首先每门课肯定只能选择一次,那么毫无疑问是一道树上的01背包,容量可以看作科目的门数 设计状态:$f[i][j]代表了以i为根节点的子树中选择j门课程获得的最大得分$ 转移:对于节点$x$,进行01背包的转移(记得倒序!记得倒序!记得倒序!) 小细节:对于每个节点的转移,若它不是
阅读全文
摘要:一道很简单的区间dp,竟然是道蓝 赶快去水积分吧 读题后不难发现,不同行的取数决策并不影响其它行的答案,因此我们dp时只要搞出每行的最大值,加起来就是答案了 对于每一行,我们只可以取行头或者行末,取完后剩下的数必定还是一段连续区间,且很容易通过大区间的答案推出小区间答案,是区间dp没错了 不妨设$d
阅读全文
摘要:可持久化线段树 可持久化线段树可以用于修改、维护序列任何一个历史副本 ###可持久化线段树1(可持久化数组) 只是个关于可持久化数据结构的引子,使用线段树来实现可持久化数组 我们熟知的线段树是长这样的(蓝色指的是修改节点的路径) 现在,我们既要修改也需要保存历史副本。如果我们强行再开一个数组,肯定会
阅读全文
摘要:T1 报数 很智障的题,筛一遍就行了 唯一要注意的就是要筛到 $10^7+1 $,因为对于9999998,输出应该是 \(10^7+1\) 代码想必是没必要贴了 ##T2 数列 题面有点小绕,大概是拼一个二进制数出来,满足1的个数小于k,还要求个权值和 考虑用计数dp 题目中提到 \(S=2^{a_
阅读全文