摘要: 有点厉害。 首先给一个 $\text{SAM}$ 的做法。我们先对所有串建立 $\text{SAM}$,然后对于每个 $T$,我们先预处理对于每个节点对应的 $endpos$ 集合,多长的子串可以满足条件。 然后,我们把 $S$ 串往当前的自动机输入,每次会来到一个 $endpos$ 集合。同时再输 阅读全文
posted @ 2023-05-16 21:53 jucason_xu 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 我们首先考虑建图。我们把每个点向它的所有变换连边,把每个变换往它产出的所有点连边,同时点到变换的边有边权,就是变换中 $-1$ 的个数。 我们首先处理最小值。我们发现,没有出度的点和变换可以一开始就有结果。只要一个点有一个变换是可以有结果的,这个点就可以有结果。变换则不然,必须所有点都有结果,变换才 阅读全文
posted @ 2023-05-16 17:12 jucason_xu 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 首先考虑 $dp_{i,msk}$ 表示当前连通了 $msk$ 中所有关键点,并且当前连通的非关键点包含 $i$ 的最小代价。 然后考虑如何转移。我们先用 $Floyd$ 预处理所有点对之间的最短路 $dist_{i,j}$。同时,每次选取的两个用于合并的关键点集合一定没有交集,所以我们可以直接枚举 阅读全文
posted @ 2023-05-16 16:21 jucason_xu 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 首先我们考虑先把区间处理掉,也就是对于每个 $y$ 轴区间,只保留在这个区间上最早出现的进行贡献,使得每个区间只有一段城墙会贡献到。这个可以离散化然后线段树来处理。 其次,我们发现,对于在时间 $t_i$ 上出现的 $[l_i,r_i]$ 区间(这里我们说的都是指离散后 $[a,a+1)$ 的区间, 阅读全文
posted @ 2023-05-16 14:42 jucason_xu 阅读(7) 评论(0) 推荐(0) 编辑