摘要:
这道题是线性筛的模板题,所以我们考虑怎么不用线性筛。 我们都知道有一种筛法叫埃拉托色尼筛,简称埃氏筛,它比线性筛好写,也更好理解,但它过不了这道题,那怎么办呢?我们可以用 $bitset$ 代替 bool 数组来进行优化,这造成的常数优化非常显著,以至于开了 ios::sync_with_stdio 阅读全文
摘要:
众所周知,Tarjan 可以用来求有向图的强连通分量,我们就不扯那些 dfs 生成树,前向边、返祖边之类的东西,直接步入正题。 准备工作 Tarjan 算法本质上是一次 dfs 的过程,我们用 $dfn[u]$ 记录 $u$ 结点被 dfs 到的顺序,用 $low[u]$ 记录 $u$ 能到达的所有 阅读全文
摘要:
1008. Image Encoding 题意:有一个 $10\times 10$ 的矩阵,左下角为 $(0,0)$,右上角为 $(10,10)$(平面直角坐标系)。一部分格子被涂成了黑色,保证为一个联通块。有如下两种描述状态的方式: 第一行给出黑格子的个数 $n$,接下来 $n$ 行依次给出黑格子 阅读全文
摘要:
题目列表 1225. Flags 题意:有 $n$ 个格子排成一行,你需要将每个格子染成白、蓝、红三色之一,要求不能有两个相邻的同色格子,且蓝色必须在白色和红色之间。求方案数。 令 $f[i][j]$ 表示前 $i$ 个格子,末尾状态为 $j$ 的方案数。有意义的状态共有四种:白、红、白蓝、红蓝。其 阅读全文