随机化

构造题的应用 在 $n$ 较小时,确定一个随机数的seed mt19937 rng(SOME_SEED);,如果在本地成功跑出来结果,就直接把这个seed交上去,这样

CodeSprint UCLA 2023

L. Blooper Game 题意 给定 $n$ 个概率 $S_1, S_2, …, S_n$,同时给定一个实数 $P \in (0,1)$。 现在有 $L$ 次操作机会,每次操作可以选择一个 $S_i$,让 $S_i = (S_i)

Universal Cup 15 (Hangzhou)

L. Barkley 题意 给定长度为 $n$ 的数组 $a_i$,有 $q$ 个询问,每次询问为 $l~r~k$ 回答在 $[l,r]$ 这个区间内,可以去掉至多 $k$ 个数后,得到的最大 gcd 是多少? 其中,$n \leq 10^5, q

线段树分治

介绍 线段树分治一般用于处理一些 “只存在/不存在 权值为 $w$“,或者 ”某个特定时间点” 对应状态的问题。 原理是在线段树上进行 DFS,进入 DFS 时加入

DFS/BFS树

介绍 在一个 无向图 中,DFS树是一个生成树(包含 $n-1$ 条边)。DFS树是在DFS过程中,如果从 dfs(u) 走到 dfs(v),那么 $(u,v)$ 这条边将会加入DFS树。 B

NAC2020

G. ICPC Camp 题意 给定一个整数 $n$,和两个长度分别为 $p,q$ 的数组,$a_1,a_2,…,a_p$ 和 $b_1,b_2,…,b

CF1862F题解

CF1805F1. Survival of the Weakest (easy version) 题意 给定一个数组 $a_1,a_2…,a_n$,定义 $F(a_1,a_2,…,a_n)$ 为如下的函数: $F(a_1,a_2,…,a_n)$ 将会在 $\forall 1\leq i < j \leq n$ 中,选取最小的 $n-1$ 个 $a_

Bitset优化

bitset作为C++自带的数据结构,利用bit储存信息,由于 1 byte = 8 bits,并且一个int就有 4 bytes,所以通常情况下用 bitset 可以达到 32

后缀数组

模版 代码(nlogn) // sa[i]:所有的后缀排序后,第 $i$ 小的后缀的编号。(排第 $i$ 名的是 sa[i] 这个后缀)。 // rk[i]:后缀 $i$(指 s[i...n]) 的排名。

二维ST表

介绍 二维ST表就是在一维的ST表上加一个维度,这样可以 $O(nm\log n \log m)$ 内预处理以后,$O(1)$ 询问一个矩阵的最大/最小值。 例题 例1 洛谷P2216[