4月日记
26-4-1
SPOJ-MSKYCODE,就是一个容斥,设
答案就是
P10504,简单概率 DP。
P10505,二分答案。
P10506,这个游戏相当于若干处理单堆珠子游戏的之和,游戏取和的 SG 值用异或算,然后一颗珠子拆分后,涉及决策,取接下来所有可能情况的 mex。
P10507,就是阶梯 Nim 游戏。
对于 SG 函数进行了一个学习,完成了蓝书数学专题。
现在水平好一点后理解 SG 函数要好一些了。
26-4-2
上午参与了 CF JMR Round 的 Test。
下午进行了数数。
AtCoder AGC012 D,用并查集维护可交换关系。
AtCoder ARC167 C,比较纯粹的数数题,首先由于是全排列所以原本 a 序列的顺序不重要,所以可以排序。
考虑每条边产生贡献的条件,若从小到大考虑每一个
考虑产生贡献个数,发现只会是
因为
而
所以我们可以(相对容易的)计算出固定当前位置,其余总方案数,无贡献方案数,
具体来说:
定义(当前考虑排序后第
:表示在考虑 。 :表示总方案数。 :表示无贡献方案数。 :表示 次贡献方案数。 :表示 次贡献方案数。 :点的位置在 时的连边范围长度。
然后
26-4-3
模拟赛 攀登计划 - 2,得分 130/230 挂分 100 pts,原因是 Presentation Error,草。
警示:若有条件,使用 LemonLime 测大样例,避免因为神秘原因(例如:fc 处理超大单行太慢)导致错误。
还有就是 T3 没有骗到分,遗憾。
26-4-7
AtCoder ABC279 G,简单 DP,设
有转移方程
26-4-8
CF2217D,E。
CF2217D,关键是发现不合法连续段跨关键点两两配对消除最优的性质,据此分析做题。
26-4-9
上午写双语卷子,下午体考耗费 4h,晚上改了昨天晚练。
:(
26-4-10
AT_codefestival_2016_final_f Road of the King。
分为三种点,未到过点,到过但不在 1 节点所在 SCC 的点,已在 1 节点所在 SCC 的点。
我们不在乎第二种点是否形成 SCC,因为最后若要合法,肯定全都在 1 节点所在 SCC。
根据这个设 DP 状态,然后转移也是简单的,就是考虑走到的是三种点中哪一种点转移方程就出来了。
P1450。
显然没有
考虑容斥去掉完全背包算出来的方案数中不合法的部分。
就是枚举有哪几种硬币用超限,超限硬币先用
CF Gym103428M 810975。
先考虑如何计算简单情况下的放置方案数,发现就是将 1 用 0 分割成若干个可空部分的方案数。
然后将答案转化成「每一个连续 1 段长度不大于
然后形似「每一个连续 1 段长度不大于
26-4-11
黑暗爆炸 - 4714 旋转排列,难点在于读题,事实上就是询问
CF1821F Timber。
考虑在原序列上选出
但是发现,有些方案会被重算,就是当一种方案的某棵树往左往右倒都可行是就会重算,而此时它相当于提前占了
答案式子如下:
26-4-13
P5339。
直接做啊,容斥有多少组人在讨论坤坤,然后算一下方案数即可。
设
注意直接暴力是
26-4-14
CF2220D。
CF2220D 设三次出现的数的位置分别为
26-4-15
CF2220E。
官方题解:
首先,我们以红节点为断点对树进行拆分。考虑所有只包含黑节点的连通分量,以及这些分量的邻接节点。这样我们得到若干棵独立的子树,其中红节点总是叶子节点。下面定义子树上的树形 DP(将树以黑节点为根):
边界条件:
若
若
每个连通块的答案为
转移:
将节点
对于
对于
AtCoder AGC058 D。
牛牛数数题。
注意到单纯对不合法子串容斥十分困难,因为不合法子串难以计数,但是不合法子串一定是若干个连续段,考虑对连续段的开头容斥。
发现一个不合法子串开头一定是如下情况之一:
。 。 。 。 。 。
发现若要在一个字母后插入一个不合法子串开头,必然只有两种选择,仅有在开头的不合法子串开头有三种选择。
设
令
答案就是
26-4-16
生大病,寄掉了。
26-4-17
好了一点。
P3160,神秘状压 DP 加容斥,反正就是从小往大放,只能放在八连通没有未被填的 X 的格子上,直接状压维护 X 被填状态,但是可能出现不期望的 X 然后就要容斥干掉,容斥需要枚举具体那些格子为 X,用 DFS 实现。
P6478,设
细节略,总之就是注意考虑答案(恰好)与容易求得的东西(钦定)的容斥关系,引出 DP。
26-4-18
P4528,图腾,恐怖。
放张图片以示敬意。
题解。

模拟赛 攀登计划 -3,T1 糖,T2 反射容斥板子但不会,T3 T4 没怎么骗到分。
主要遗憾是 T4 因为懒没打部分分,不然就能上 200 了。
26-4-20
改模拟赛。
T3 总结:关键是“完全替代”的思想减少计算量,如果 B 合法条件比 A 严格,而且 B 权值还不如 A,就显然可以抛弃 B。
T4 总结:关键观察是有效区间长度不大于 3,而由于
所以 T4 还是太困难了。
26-4-21
把反射容斥模板题做了,感觉对这个东西不是很熟。
今天干的事少因为上午实验操作考试下午拍照。
26-4-22
气笑了,fst 了说是。
早练 T1 是高维莫队板题,可惜我又不会。
T2 是个啥我还不会,fst 对心态有点打击。 /ll
26-4-23
早练 T2 需要先处理出每条边对应两端的两棵子树的直径,这玩意可以用两遍 DFS 求,然后发现断边重连最优解一定是连到两端子树的直径中点,基本上就做完了,码量稍大,因为需要:
- 给边定向,以将边断开后的两棵子树转化为一个点的 子树 和 其子树外的部分。
- 第一遍 dfs 求各点子树内直径。
- 第二遍 dfs 求各点子树外直径。
- 遍历边,回答第一二问。
- 找一条合法边,断开,两边子树各 dfs 两遍找直径端点和两对直径端点到各自子树内的每个点的距离以找到直径中点。
所以确实很麻烦。鉴定完毕,屎题。
26-4-24
早练 T1,傻缺 nth_element,不会 STL 导致的。
早练 T2,简单题,被线段树常数做局了导致的。
早练 T3,不会。
26-4-25
上午糖糖模拟赛,下午凌云计划 - 10,T3 T4 一道随机化一道搜索,气笑了。
26-4-27
改模拟赛。
26-4-28
终于把 26-4-24 的早练 T3 改了,我好菜。 /ll
26-4-29
早练期望得分 100+17+40,实际得分 35+17+40,原因是 T1 少判了个条件挂飞了。
T1 是唐,发现连边是对区间内的奇数或偶数连边,可以 set 维护未到过的点。
T2 是神秘数数,首先是要注意到
然后是当且仅当
然后就是容斥和超绝数数。
今天晚练有且仅有我一个人过了,赢。
26-4-30
- 标题: 4月日记
- 作者: DimStar
- 创建于 : 2026-04-01 20:22:47
- 更新于 : 2026-04-30 12:27:25
- 链接: https://dimstar-zhang.github.io/2026/04/01/4月日记/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。