09 2022 档案
摘要:$\text{Description}$ 给定一棵深度为$k (\le 400)$的满二叉树,每个节点均与其所有祖先连边。 求树中每个节点最多经过一次的不同有向路径数量。 $\text{Solution}$ 一道需要人类智慧的$DP$,考虑现在已经求出了树深为$k - 1$的答案,那么只需要合并两颗
阅读全文
摘要:后缀自动机 简介 给定一个字符串$S$,我们把$S$的每一个后缀都插入$trie$中。这样这个$trie$就能处理许多的问题,但这颗$trie$的大小是$O(n^2)$级别的,所以我们要用到后缀自动机。 构建 定义$endpos(s)$为字串$s$在原串$S$中出现的位置。那不同$endpos(s)
阅读全文
摘要:multiset 可重复元素的$set$。 定义: struct nd{ int x; friend bool operator ()(nd x,nd y){return x.x < y.x;}//可自定义比较 }; multiset<nd> tree; 操作: auto it = tree.beg
阅读全文
摘要:$\text{Solution}$ 一道简单的$DP$,没有需要转弯的地方,思路较为顺畅。 考虑每一位的填法是独立的,设$f_{i,0/1/2/3}$表示填到第$i$位,当前的状态为$s < w$或$s > w$或$s = w$或$s$和$w$不可比。易得转移 $$f[i][0] = f[i - 1
阅读全文