杂题1
摘要:
P9350 [JOI 2023 Final] 宣传 2 左边有绝对值右边没有显然不是很好看,考虑拆绝对值。 那么相当于要同时满足 Xi−Xj≤Ei−EjXi−Xj≤Ei−Ej 和 Xj−Xi<=Ei−Ej 移项就是 \(E_j - X_j <= E_i - X
ABC394 A ~ F
摘要:
ABC394 感觉这场 ABC 蛮简单的啊,我这么菜都场切了 A∼F A int main() { string s; cin >> s; for (int i = 0; i < s.size(); i ++) if (s[i] == '2') cout << 2; return 0
自动机全家桶
摘要:
自动机真的好难! 自动机 一个确定有限状态自动机,即 DFA,可以理解成一张有向图,每一个结点都是一个状态。 自动机由五部分组成: 字符集 ∑ 状态集合 Q ,相当于图上的顶点 起始状态 start∈Q 接受状态集合 F 转移函数 δ,
从 0 开始的数学
摘要:
并非从 0 开始,但反正我是从来没有好好学过蓝书数学这章。 主要最近碰到太多数学题了,不得不恶补一下。 更好的阅读体验 质数 不超过 N 的质数个数大约为 NlnN。 线性筛法,每次用最小的质因子筛质数,可以用来 O(n) 快速筛诸如欧拉函数、因
卿影云痕1(卿璃CP向)
摘要:
彦卿 嗥声震天,利齿穿喉,飞溅的鲜血染红了彦卿的全身,剑鞘中散发着透骨的寒意,群狼的尸体在彦卿的剑下堆积成山。 “万剑天来!” “上决浮云,下绝地纪!” “一千四百二十九。”彦卿深吸一口气,右手轻轻抹去脸颊上的步离毒血,面朝着对面的云璃说道。 “不太行啊彦卿小弟,一千四百三十八,如何?”云璃嘴角微扬
LCT——Link Cut Tree
摘要:
胡扯 LCT 运用实链剖分,对于一个父亲来说,只有一个儿子对应实边,其它的对应虚边,一堆的实边连在一起就变成了实链,我们用 Splay 维护。 其中实边指的是一条连通父亲儿子的双向边,而虚边则指的是儿子到父亲的单向边。在 LCT 中,实边组成的实链被 Splay 储存
KDT 从入门到夺门而出
摘要:
简介 首先要知道 KD−Tree 是干什么的,它最广泛的用法便是维护 k 维最近点对(大部分时候是二维)。 先来讲没有插入,直接建树的。 它的每个结点维护这样子的数据,其中 lc 和 rc 代表左右儿子,v[i] 代表第 i 维当前点的取值,\(L[i
线段树从入门到出门
摘要:
线段树详介(带lazy) 线段树和树状数组不同,它维护的是一个个子序列。 如上图,对于一个区间 [l,r],它的左儿子就是 [l,mid],右儿子就是 [mid+1,r],其中 mid=l+r2。 我们可以给线段树上的每一个结点编号,假
莫队从入门到人门
摘要:
普通莫队 详介(P2709 小B的询问) 普通莫队处理问题的前提是问题可以离线,多次区间查询,O(n√m) 能过。 我们以 P2709 小B的询问 为例,假设当前区间为 [l,r],答案为 ans,那么 r 右移一位时,新加入一个数 x,我们只要把
树状数组
摘要:
何为树状数组? 首先,树状数组是用来维护序列的前缀和的。 其次,我们要知道树状数组是如何将大区间拆分成一堆小区间的。 比如 7=111(2),我们可以将其拆分为 [1,4],[5,6],[7,7],再比如 12=11002,我们可以将其拆分为 \(