JSOI&NOI 2021 Online冲刺之刷题笔记

年龄不够参加不了JSOI 2021/kk

12.21

P3160: 裸的长链剖分优化 d p dp dp

P4292: 一种做法是二分然后点分治+线段树,更优的做法是先二分,然后长链剖分优化 d p dp dp,转移的时候维护一棵支持单点修改区间查询最值的动态开点线段树即可。

P5904: 妙题,状态转移方程真的没想到。之前听gh巨佬讲过一遍,但是这一次又没有想出来/kk

f i , j : f_{i,j}: fi,j: i i i的子树内的满足 d i s ( u , L C A ( u , v ) ) = d i s ( v , L C A ( u , v ) ) = d i s ( L C A ( u , v ) , i ) + j dis(u,LCA(u,v))=dis(v,LCA(u,v))=dis(LCA(u,v),i)+j dis(u,LCA(u,v))=dis(v,LCA(u,v))=dis(LCA(u,v),i)+j的节点对 ( u , v ) (u,v) (u,v)的数量

g i , j g_{i,j} gi,j: 在 i i i的子树内与其距离为 j j j的节点的数量

然后就可以长链剖分来优化了。

12.22

CF868F: 裸的分治优化 d p dp dp,结果写了一个假做法(没有用莫队的方式去移),看了题解之后才发现里面还要套一个莫队……

P3160: 妙题。考虑一个类似二项式反演的容斥,去往格子里面钦定字符;由于被填上字符的格子数量不会很多,按照从小到大的顺序轮流在格子里面填。直接状压 d p dp dp即可,记搜可减少代码复杂度。

12.23

CF24D: 有后效性的 d p dp dp可以用高斯消元处理。本题中的消元矩阵十分稀疏,可以通过相邻两行来消,从上到下扫一遍即可。做这题期间WA了无数次,主要没有想到 m = 1 m=1 m=1的情况要特判,此时答案应该是 2 ( n − x ) 2(n-x) 2(nx)

P3177: 针对每一个点计算贡献,用树形背包更新即可。树形背包是 O ( n 2 ) O(n^2) O(n2)的,结果写挂又写挂

12.24

平安夜多看题(

P3195: 裸的斜率优化题,随便推推式子就搞定了。可这是我第一次写斜率优化题(

CF1316E: d p dp dp好题。从大到小排序,从前往后、从后往前做两个不同意义的状压 d p dp dp值,然后枚举分界点并更新答案。常数较大成功卡了评测机

P6157: 线段树维护区间最大值以及最大值位置,区间严格次大值以及严格次大值位置,每次查询区间的严格最大值并输出,然后将一个严格最大值与一个最大值分别做单点修改使得这两个点无效,接着再查一遍整棵树的严格次大值即可,最终将操作依次撤销。等价于单点修改,区间查询严格次大值,可以采用线段树来维护,每次链上查询树链剖分即可。

P6156: 神仙卡常莫反题。式子推完了,就剩 ∑ i = 1 n ∑ j = 1 n ( i + j ) k \sum_{i=1}^n \sum_{j=1}^n (i+j)^k i=1nj=1n(i+j)k了,硬是没想出来枚举 i + j i+j i+j,开了题解之后自闭了好久……另外这题还有一个多组查询的加强版,卡掉了 O ( n 3 4 ) O(n^{\frac 3 4}) O(n43)的暴力。

P5386: 采用回滚莫队,里面套上一个线段树二分即可。代码难写,直接口胡/kk

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值