用户工具

站点工具


2022-2023:teams:fire_and_blood:week_summary_1

这是本文档旧的修订版!


个人刷题

fks

CF1687C

题解:考虑转化题意,令c[i]=b[i]-a[i],再对c作前缀和,那么就转化为了,每次对于[l,r]如果c[l-1]=c[r],那么把l-r这段区间全部覆盖为c[l-1].要求我们最后能把所有c都变成0.我们倒着考虑,来看操作是否有用(因为一开始我对于区间两两交的影响很头痛)。考虑最后反正要都变成0.那么必然c[l]和c[r]也必须要是0.否则做了和没做一个样。那么我们只对是0的考虑。我们把操作存在两个端点的vector里。暴力判断和更新就好了。用set维护非0位置弹出(set用于均摊,只染色非0位置)。

CF1687D

题解:一开始想的,把段都暴力弄出来,后面扫描线做。但发现其实不需要,考虑可爱的区间是[k^2,k^2+k],那么我们就发现,当我们固定了a[1]的段,也就是a[1]的偏移量的范围确定,后面的段的偏移量也能唯一确定(因为一个段最多从可爱到不可爱,或者从不可爱到可爱,不可能跳变两次(凸性))。那么我们可以发现,一个在不可爱段的最小值,会对下界有影响。一个在可爱段的最大值,会对上界有影响。我们预处理出前驱后继,直接做。每次跳的次数是V/i,那么就是调和级数

2022-2023/teams/fire_and_blood/week_summary_1.1665218235.txt.gz · 最后更改: 2022/10/08 16:37 由 fks20011206