2025.8 做题笔记

然后我猜 8.23 之后会严重戒断 3 年。

upd:猜的完全正确(


洛谷 P6076 | 高维二项式反演

思维难度:\(\color{#F39C11} 橙\) *1000

高维二项式反演 link

然后这题就秒了。

submission

天依宝宝可爱!


洛谷 P6162

思维难度:\(\color{#FFC116} 黄\) *1500

什么逆天凑斯特林数做法。

dp,令 \(f_{i,j}\) 表示前 \(i\) 个格子放 \(j\) 个数的方案数,考虑最后一个位置放不放,转移显然:

\[f_{i,j} = f_{i-1,j} + (i-j+1) \times f_{i-1,j-1} \]

注意到(?)第二类斯特林数的递推式是:

\[\begin{Bmatrix} n \\ m \end{Bmatrix} = m \times \begin{Bmatrix} n-1 \\ m \end{Bmatrix} + \begin{Bmatrix} n-1 \\ m-1 \end{Bmatrix} \]

所以考虑把 \(f_{i,j}\) 表示成这个形式。令 \(j \gets i+1-j\) 可以得到:

\[f_{i,i+1-j} = f_{i-1,i+1-j} + j \times f_{i-1,i-j} \]

\(g_{i,j} \gets f_{i,i+1-j}\),则有:

\[g_{i,j} = g_{i-1,j-1} + j \times g_{i-1,j} \]

注意到就是第二类斯特林数,不过手算一下可以发现 \(g_{1,x} = \begin{Bmatrix} 2 \\ x \end{Bmatrix}\),所以答案即为:

\[f_{n-1,k} = g_{n-1,n-k} = \begin{Bmatrix} n \\ n-k \end{Bmatrix} \]

从 P5395 那里抄个通项即可。

不过话说回来,这个题还是很好的,如果不从凑斯特林数的角度考虑,确实挺巧妙的,属于那种想不到但是看一眼题解就明白的,link

submission

天依宝宝可爱!


洛谷 P8807

思维难度:\(\color{#FFC116} 黄\) *1300

完了倒闭了连黄题都切不了了。

注意到如果不满足要求,那么必须满足 \(n \bmod 1 = 0 , n \bmod 2 = 1 , n \bmod 3 = 2 , \ldots\)。所以第一个不满 \(n \bmod i = i-1\) 的位置就是答案。

submission

天依宝宝可爱!


洛谷 P2851

思维难度:\(\color{#FFC116} 黄\) *1500

背包会不了一点。

可以看出来是两个背包,买家是多重背包,卖家是完全背包。注意上界是 \(T+V^2\),这很符合人类直觉。

但是多重背包需要二进制优化,具体地,将一个限制最多选 \(c_i\) 次的物品拆为一些分别价值和重量都 \(\times 2^k\) 的物品,然后做 01 背包。正确性显然。

submission

天依宝宝可爱!


洛谷 P7118

思维难度:\(\color{#FFC116} 黄\) *1400

显然 \(O(n^2)\) dp 是容易的。复杂度瓶颈在于枚举左儿子的子树大小,但是注意到枚举范围为 \(0 \sim siz_{ls} - 1\) 而不是 \(siz_u\),所以可以想到类似于启发式合并,只对左右儿子中子树较小的那个进行计数!

于是就做完了。

submission

天依宝宝可爱!


洛谷 P3200

思维难度:\(\color{#FFC116} 黄\) *1400

注意到因为偶数位和奇数位都严格单增,且相邻两项后者偶数位大于前者奇数位,所以每个偶数位 \(a_i\)\(\ge i\)

所以手搓个样例就可以发现,在从 \(1\)\(2n\) 填数的过程中,要不放在偶数位末尾(指最后一位已经填过数的下一位),要么放在奇数位末尾,而且必须满足偶数位放数的个数 \(\le\) 奇数位。

可以发现就是长度为 \(2n\) 的合法括号序列。

submission

天依宝宝可爱!

posted @ 2025-08-21 07:30  little__bug  阅读(10)  评论(0)    收藏  举报