斯特林数

简述

这是一篇咕咕咕了三个月的博客,今天来彻底写一写。两类斯特林数在化简式子和本身的组合意义上都对做题有很大的帮助。

Continue reading →

Codeforces 1354E:Graph Coloring – 题解

主要思路

这个题还是比较简单的。

发现在生成树上放一个 \(2\) 之后,剩下与该点距离为偶数的点都已经确定了。所以对于一个连通块而言,被染成 \(2\) 的方式只有两种。

那么我们可以对这些连通块做一个背包,然后来判断是否有 \(n_2\) 的染色方案。

剩下的点随便染色即可。

Continue reading →

LibreOJ#3049. 「十二省联考 2019」字符串问题 – 题解

主要思路

这个题读完之后大概能知道是要建一个反串的 SAM,然后通过倍增定位 \(A, B\) 串然后加边,找最长路即可。

但是发现直接这样做,碰到 \(|A| < |B|\) 的时候会 GG,因为可能会出现在同一个节点上。这个时候我们就通过长度进行排序,给被重复的节点多做几个影子节点即可。

Continue reading →

P3245:「HNOI2016」大数 – 题解

主要思路

佛了。

让 \(p\) 跟 \(10\) 取个 \(\gcd\)。如果互质的话就是数数列 \(a_i = \text{从 i 到 n 表示的数字} \bmod p\) 区间里的同色对数,用莫队搞即可;如果是 \(2\) 那就把 \(0, 2, 4, 6, 8\) 这些尾数染颜色然后数同色对数,这个可以 \(\Theta(n)\),如果是 \(5\) 那就把 \(0, 5\) 染色即可。

Continue reading →