摘要: KDT处理的一些问题:给你一个 \(k\) 维空间,\(n\) 个点,每次查询一个超矩形,求这个超矩形里面包含的点的信息,以下默认 \(k=2\)。 建树 重复以下流程: 轮流选择 \(k\) 维作为划分依据。 选择第 \(k\) 维里的中位数作为根。 求中位数的过程是 \(O(n)\) 的,每次划 阅读全文
posted @ 2026-01-16 15:47 Sgt_Dante 阅读(2) 评论(0) 推荐(0)
摘要: 有些题目会查询一些树上的点,这些点的总数是确定的,我们希望单次查询与给出点的数量有关,这样整个算法的总时间复杂度就有保证了。但查询的信息可能与这些点形成的结构有关,所以我们不得不在原树上进行……吗? 我们可以依托于这些给出的点,建出一些仅依托于这些点的小树,而且这颗小树的节点个数与给出点的总数是同级 阅读全文
posted @ 2026-01-16 15:45 Sgt_Dante 阅读(3) 评论(0) 推荐(0)
摘要: 后缀数组 原理介绍 排序: 设 \(s\) 为原串, \(s'_{i,j}\) 表示 \(s[i,\min (i+2^j,|s|)]\) ,\(rk_{i,j}\) 表示 \(s'_{i,j}\) 在集合 $ S_j={s'_{i,j}~~|~i\in [1,|s|]}$ 中的排名。 则有 \(rk 阅读全文
posted @ 2026-01-15 17:01 Sgt_Dante 阅读(3) 评论(0) 推荐(0)
摘要: CF1720E 神秘结论题,结论是颜色数 \(\geq k\) 时答案 \(\leq 2\)… 如果颜色数 \(\leq k\) 那么直接一个一个染色就好了。 如果颜色数 \(\geq k\) ,我们规定第一个染色的正方形是从 \((1,1)\to(x,x)\) ,\(x\) 是保证颜色数 \(\g 阅读全文
posted @ 2026-01-15 17:00 Sgt_Dante 阅读(2) 评论(0) 推荐(0)
摘要: 定义多项式运算 \(⊕\) 使得 $A ⊕ B= C $ 有 \(C_k=\sum_{i⊕j=k} A_i B_j\)。 其中 \(⊕\) 按位独立,也就是说设 \(X=\sum x_k2^k~(x_k\in\{0,1\})~,Y=\sum y_k2^k~(y_k\in\{0,1\})~\) 则有 阅读全文
posted @ 2026-01-15 16:59 Sgt_Dante 阅读(5) 评论(0) 推荐(0)
摘要: 模因污染警告 站点模因过滤模块异常。请断开基金会公网连接,并退出文档! SCP-CN-8369 一文段字 项目编号: CSP-CN-8369 项目等级: Euclid 特殊收容措施: 鉴于该异常的性质,现已对该异常信息发布者的微信账号针对性发布逆模因,使其内容无法被正常人员阅读和理解。为防止污染进一 阅读全文
posted @ 2025-09-11 14:10 Sgt_Dante 阅读(15) 评论(0) 推荐(0)
摘要: KMP可以很好的解决单个模式串的问题,但是如果我们有多个模式串呢。 我们可以使用AC自动机来解决这类问题。 首先我们对于多个模式串建出一颗 \(trie\) 树。 类似于KMP,我们考虑如果下一步失配应该跳到哪里去。 考虑维护一个 \(fail\) 指针来确定当前没有后继的 \(son\) 时的可能 阅读全文
posted @ 2025-08-24 12:16 Sgt_Dante 阅读(1) 评论(0) 推荐(0)
摘要: 对于一类 dp 问题,我们可以发现一些很好的性质: 设 \(i\) 的决策点是 \(opt_i\) (即 \(i\) 由 \(opt_i\) 转移而来)。 则 \(\forall ~~i<j\) 有 \(opt_i<opt_j\) 。 现有的优化方法无法很好的利用这种性质,考虑分治。 设 \(\fo 阅读全文
posted @ 2025-08-21 22:14 Sgt_Dante 阅读(2) 评论(0) 推荐(0)
摘要: 在博客食用以获得最佳体验(逃) 分享一个与官方题解显著不同但疑似本质相同的做法 我们发现对于每一个\(ans_k=t\),其实等价于选择\(n-t\)个点使得至少有\(k\)个点他们从根节点到该节点的路径上有至少半数点都被选择 这样的话我们可以发现如果一个点被选择,但是他的父亲没有被选择,那么选择他 阅读全文
posted @ 2025-08-12 23:08 Sgt_Dante 阅读(6) 评论(0) 推荐(0)
摘要: T2不会 T1: 考虑点分治,把所有询问挂在分支中心 对于每一个 \(u\) 维护 \(dpU_{u,k,j}\) 表示最大值为 \(k\) ,最小值为 \(j\) 的从 \(u\) 到分支中心的最长不降子序列 同理维护 \(dpD_{u,k,j}\) 表示最大值为 \(k\) ,最小值为 \(j\ 阅读全文
posted @ 2025-08-01 21:26 Sgt_Dante 阅读(2) 评论(0) 推荐(0)