2025.6月编程总结

2025.6月编程总结

2025.6.2

Luogu:

  1. 题目链接 注意manacher时,当i + p[i] - 1 < R, 要更新,防止变慢

  2. 题目链接 注意题目输出大小写看清楚

2025.6.7

Atcoder:

  1. 题目链接 注意x不一定是A数组中的任意一个,所以要枚举一下 1 ~ n,(注: 应为本题说要出现x次,但实际上最多只会出现n次,所以只用枚举n次)

  2. 题目链接 注意该题中,到底是枚举l - 2 * d, 还是 n - 2 * d 要注意区分,因为l为圆圈周长,所以是l - 2 * d

  3. 题目链接 注意该题中找到s[i] < s[i - 1]时,应该以i为l,同时往后拓展,注意并不是找到最小的直接对这段区间进行操作

赛后总结:本场比赛由于D题调太久,C题翻译没懂,导致有些时间浪费了,而D题后来想到了,却又没有时间调了,导致没考好

本次排名:6000多,相较上次退步2000名

2025.6.8

Luogu:

  1. 题目链接 注意改代码的时候一定要把相同的改彻底

  2. 题目链接 注意KMP的时候应该是往前找j = nxt[j] 不应该是往后找 j++

2025.6.9

Daimayuan:

  1. 题目链接 注意,当你发生一次碰撞的时候,位置大小改变,但是,实际上你是与另外一个球交换了位置

2025.6.10

Daimayuan:

  1. 题目链接 注意,二分的时候,最好把r设成1e18, 1e10可能不够,但1e18不影响复杂度,还能提高正确性

  2. 题目链接 注意一下,本题最后结果应该为dp[n][m - n], 并不是 dp[n][m], 注意dp实际上进行了差分

Atcoder:

  1. 题目链接 注意本题转移方程只用设二维,第三维其实可以当作变量存

  2. 本次排名:3000多,相较上次进步3000名

2025.6.20

Daimayuan:

  1. 题目链接 注意一下,当g 是最开始的时候或者是上升直接 return ans 就行,不用更新

  2. 题目链接 该题从贪心的角度想,从最深层往浅层是最优的,但是,由于一个一个向上遍历可能会超时,所以我们需要倍增,然后发现,一些覆盖后的点,就可以不用dfs,成功!但是注意标记的时候,我们可以按照dfs序上建一个树状数组,设最高点为u,最低点为r, 让 fa[u] 减一,u加一,最后区间求和就行,注意是以i为根的所有子树,包括i Thanks to ax_by_c

2025.6.21

Atcoder:

  1. 题目链接 该题注意一下,由于在线没有办法算,所以我们要转在线为离线,在离线的时候我们分类讨论一下就行了

    op = 1, t = p[i] \ \ \ \ \ t = 0\\ op = 2, t[i] = p[i] \ \ \ \ \ ans += s[i] \\ op = 3, t[i] = 0, \ \ \ \ \ t = p[i]

2025.6.27

Daimayuan:

  1. 题目链接 注意set二分的时候应该是 st.lower/upper_bound(begin,end) , 在集合中,可能该数会有多个,与其lower_bound往后找,不如upper_bound往前找 Thanks to 米斯特屁眼通红 和 wbls(wuwenbo) 和 tbls(SkyWave)

2025.6.28

Atcoder:

  1. 题目链接 该道题首先注意到它的所有点度数为二,所以其实不仅仅有一个环的情况,两个单独的环其实也行,如图所示,其次为什么不是能是3个环呢?注意该题的数据n <= 8,而每个环的大小>=3(!= 2是因为该题是简单图,不存在重边)

第一种情况

graph (1).png

第二种情况

graph (2).png

评论