复健。(1~10,OI)
Day 1
模拟赛3 C
设 \(\operatorname{id}_{j,k}\) 为第 \(j\) 个属性 \(\ge k\) 的列的类别(即第 \(i\) 个村民有无此属性),\(s_i\) 为第 \(i\) 个村民的属性。
模拟赛3 D
首先设 \(F_u\) 为以 \(u\) 为根节点的拓扑序的数量,递推式为 \(f_u=(s_u-1)!\prod\limits_{(u,v)\in E}\dfrac{f_v}{s_v}\),所以每个点会有 \(\dfrac{(s_v-1)!}{s_v!}=\dfrac{1}{s_v}\) 的贡献,所以 \(F_u=\dfrac{s_u!}{\prod\limits_{v\in \operatorname{Subtree}(u)}s_v}\)。
设状态 \(f_{u,i}\) 为 \(u\) 为拓扑序 \(i\) 时的方案数,不考虑子树。从 \(f_{u,j}\) 向 \(f_{v,i}\) 转移,考虑应该让哪些点排在 \(v\) 的前面,将 \(u\) 子树内,\(v\) 子树外的 \(s_u-s_v-1\) 个点放入已经处理并且未在 \(u\) 到根的链上的 \(n-s_u-j+1\) 个点,方程即为:
答案即为:
Day 2
今天突然发现把扫描线忘了,赶紧写写。
难点在于如何维护,实际上在线段树上只要维护每个区间被完整覆盖的次数 \(w\) 和总宽度 \(v\) 就可以了。
Day 3
「联合省选 2025」推箱子
用线段树维护每个箱子的位置,这里只讨论从左向右推,反向同理。当要推动一个箱子 \(i\) 到 \(b_i\) 时,位于 \([a_i,b_i]\) 的箱子都会被推动。被推动的箱子还会继续推动别的箱子。当 \(b_i-i+j-1< a_j\),即 \(a_j-j> b_i-i-1\) 时停下来。
需要注意的细节是已经到达位置的箱子不能再推动了。
Day 4
注意 vector::size 的返回值是无符号整数!!!被这个坑惨了
[POI 2013] USU-Take-out
一个一个字符往栈里压,遇到栈底有 \(k\) 个 b 和 \(1\) 个 c 的情况就弹出即可。
Day 5
摸鱼了。
Day 6
「CMOI R0」Parallel Universe Shifter / Lattice Circle
感觉有点意思的一个题。
首先我们只需计算 \(\frac{1}{4}\) 个圆的点的个数即可,答案即为 \(4\sum\limits_{i=1}^n\left\lfloor\sqrt{n^2-i^2}\right\rfloor+2n-1\),然后我不会了。
Day 7
摸鱼了。

浙公网安备 33010602011771号