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