20250723

总结

CF1208D

  • 思路1:找到最靠后的0,把这个位置s值变成kInf,p值为1,并把后面所有s[i]−1。然后继续找到最靠后的0,s赋kInf,p赋2,重复操作即可。可以用线段树来实现。
  • 思路2:还是从后往前确定答案,对于每个s[i],用倍增算它前面有多少比它小的数,直接记录答案,发现这跟树状数组很像,可以直接利用树状数组结构

CF702F

用平衡树,每次把树分成3个部分[0,c),[c,2c),[2c,+kInf),每次[0,c)部分不变,[c,2c)暴力插入[0,c),[2c,+kInf)打-c标记

这题我因为分的时候把[0,c),[c,2c)分成了[0,c],[c,2c],调了半天,样例都没过。。。

CF1690G

这题可以直接用线段树维护答案,记录区间两端点的值,合并的时候拼起来减贡献即可,修改就是区间覆盖

P4587

汇总

我发现我做习题太慢了,可以20分钟没有确切思路框架就看题解,这样效率会高一些,虽然CF702F也是想了1.5h没办法看了1题解,发现自己是傻逼

posted @ 2025-07-25 06:42  姜树  阅读(6)  评论(0)    收藏  举报