22noip赛前20天冲刺 day1-考后总结

时间安排

8:30–9:00 把题目都看了一下,T2是个DP,T4是个构造,T3,T1不知道是什么不过部分分很多。
9:00–9:40 T1,写暴力。对于 L=R 可以直接贪心。
9:30–10:10 T2, n<=20 和 col<=2 可以直接 DP 。对于链,可以用树状数组维护一下。对于正解,貌似可以虚树什么的,不过好像做不了。
10:10–11:00 T3, n<=3000 可以直接做。对于 K 的部分分可以用数据结构维护。其他档不知道有什么用。想到对 K 根号分治一下什么的,但是复杂度比较大。简单打了个表,发现数据随机的时候答案基本上是单峰的,写了个三分骗分。
11:00–11:50 T4,思考怎么构造,发现完全不会。
11:50–12:20 卡常数
12:20–13:00 思考T3,T1。
T1: 70 T2: 70 T3: 40 T4:0

回顾反思

T1: T1是一个贪心。想到两两配对必然有 n/2 个系数为1, n/2 个系数为-1,且系数为1应贪心的选r,-1的应贪心的选l,那么就先全选l,那么每一次由l变为r贡献为l+r,贪心取最大的 n/2 个就行了。这道题没有A掉有点可惜,考试的时候一直在想如何配对,而没有考虑其本质的数量关系。这种转化、贪心的能力要加强。
T2: 正解实际上就是在我卡上界背包上继续卡。对siz卡上界的背包是容易的,当形似树上每个点有颜色要求对各颜色分别进行背包时,对于背包合并可以维护枚举的上下界,其上界最大为该子树内该颜色点的个数 c n t c o l o r cnt_{color} cntcolor,其下界为不是该颜色点的数 c n t n o t c o l o r cnt_{notcolor} cntnotcolor ,这里的 c n t n o t c o l o r cnt_{notcolor} cntnotcolor 往往会有一个隐性的限制,如要求该颜色的点数大于一半时, c n t n o t c o l o r cnt_{notcolor} cntnotcolor 就不应超过 c n t c o l o r cnt_{color} cntcolor 否则必然不会得到合法解,合并完将儿子的 c n t cnt cnt 与当前根的 c n t cnt cnt 相加并限制在合法范围内即可,这样枚举范围就是 c n t c o l o r cnt_{color} cntcolor 级别。对每种颜色分别背包的复杂度就由 n 3 n^3 n3 变为 n 2 n^2 n2
树上背包卡上界 O ( n m ) O(nm) O(nm) 复杂度相关证明
T3: 关键思路是要想到分离 ⌊ j − i K ⌋ \lfloor \frac{j-i}{K}\rfloor Kji i i i j j j 的贡献,其次是要推出 ⌊ j − i K ⌋ = ⌊ j K ⌋ − ⌊ i K ⌋ − [ j m o d    K < i m o d    K ] \lfloor \frac{j-i}{K}\rfloor =\lfloor\frac{j}{K}\rfloor - \lfloor\frac{i}{K}\rfloor - [j \mod K < i \mod K] Kji=KjKi[jmodK<imodK],那么贡献独立直接数据结构维护就行了。一个点是【外层树状数组维护 i m o d    K i\mod K imodK 内层线段树维护下标 i i i 】可以被【分别维护 i m o d    K i \mod K imodK i / K i/K i/K 的树状数组套树状数组】代替。考试的时候没想到 ⌊ j − i K ⌋ \lfloor\frac{j-i}{K}\rfloor Kji 可以拆成这样的形式,所以根本无从下手正解。
T4: 神仙构造。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值