摘要:
[Ynoi2013] D2T2 link 对序列分块,最大子段和是一个可以合并的信息,对于一个询问,如果对每个整块求出这块保留 内的数得到的最大子段和相关信息(和,最大前缀,最大后缀,最大子段和)则把它们合并就是答案。 一个长度为 的块其实只有 \(\mathcal 阅读全文
摘要:
详细揭秘 整体二分 考虑这样一个问题: 给你一个序列,每次查询区间 kth。 如果你不会主席树,你可能会考虑二分答案:二分一个 ,看看它在区间中的 rank,与 比较。 这样子单次暴力是线性对数的,不太妙。问题出在哪里呢?你发现每次找 rank 是线性的,很慢。 我们把多个 阅读全文
摘要:
详细揭秘 SAM 这个咕了好久 这个东西很玄乎,大家抽象理解就好。 首先,SAM 是啥: 后缀自动机。 每个节点代表一个状态,里面存着一些原串的子串(但是不会在代码中存)。 每个节点有转移边指向其他节点,一个字符最多有一条它的转移边。 整个 SAM 的节点和转移边构成 DAG(有向无环图)。 每个节 阅读全文
摘要:
详细揭秘 KMP 考虑失配的时候要重新到哪里开始匹配最优。 那显然是从已匹配部分的最长 border 开始啊。 像这样,跳到橙色 后继续判断 T 的紫色格子是否等于 S 的红色格子,如果不等于就继续跳。 阅读全文
摘要:
详细揭秘 ACAM 首先明确 ACAM 处理的是多模式串单文本串问题。 先对所有模式串建 trie。然后对于每个点 维护 指针指向 trie 中最长的且是 的后缀的节点。 对于模式串为 he,hers,she,i,his 建出的 ACAM 如下 和 KM 阅读全文
摘要:
vscode 的极快速配置 1.进入 vscode 官网下载最新版本,直接点 download for windows 即可 2.打开安装包,可能要去除安装路径中空格和中文 3.在 link 下载 MinGW 编译器,拉到最下面的离线下载,选 MinGW-W64 GCC-8.1.0 的 x86_64 阅读全文
摘要:
Tricks 可以表示 行 列矩阵从 到 的路径数。AT1983 \(\displaystyle n^k=\sum_{i=0}^{\min(n,k)}{k \brace i}\binom n ii!=\s 阅读全文
摘要:
根号数据结构 本文只是对 nzhtl1477 的课件内例题写写自己的理解,侵删。 最基础的动态分块 1.区间加,区间求小于 的数的个数 每块内维护 OV(有序表),整块查询 lower_bound,散块暴力查询。 修改的话散块可以重构,或者你注意到修改的位置在 OV 里拿出来也是有序的, 阅读全文