随笔分类 - OI
摘要:美食节 原题:KOI 2022 食事计划 题面 有 \(n\) 个摊位,每个摊位提供一种类型的美食 \(a_1, a_2, a_3 ... a_n\) ,现需要你求出一个字典序最小的排列 \(p_1,p_2,p_3...p_n\) 使得 \(\forall 1 \le i < n, a_{p_i}
阅读全文
摘要:符文石 题面 给定一张有 \(n\) 个节点,\(m\) 条有向边边的 DAG ,保证无自环,无重边 每个点有权值 \(a_i\) 对于每个点,求在其连通块内任选两个不同点按位与的最大权值,如果只有一个点,输出-1 \(2 \le n \le 5 \times 10^5, \ 1 \le m \le
阅读全文
摘要:异或树 题面 给定一棵有根树 \(T\) ,其初始只包含一个点权为 \(k_0\) 的根节点,接下来有 \(q\) 次操作如下: 形如 1 x ,代表对于所有当前 \(T\) 的叶子扩张一次:设其权值为 \(w\) ,将一个权值为 \(w\) 和一个权值为 \(w \oplus x\) 的节点加入并
阅读全文
摘要:gcd & xor 题面 给定一个正整数 \(n\) ,求在 \([1,n]\) 有多少 \((a, b)\) 满足 \(\gcd (a, b) = a \oplus b\) \(1 \le n \le 10^7\) 题解 这道题没做出来,主要原因是考试时想的方向错了,一直在想怎么通过巧妙的位运算算
阅读全文
摘要:巡逻网络 题面 平面上,一开始有 \(n\) 个固定站点 \(a_1,a_2...a_n\) 和 \(m\) 个可选站点 \(b_1,b_2,...b_m\)。 小明要选出一些站点作为巡逻网络的节点。为了巡逻网络的高效,小明希望选出的节点之间两两曼哈顿距离之和尽可能大。 接下来有 \(q\) 次修改
阅读全文
摘要:深度优先搜索树 题面 给定 \(dfs\) 代码 void dfs(int u) { vis[u] = true; for (int v = 1; v <= n; v++) if (g[u][v] == true && vis[v] == false) dfs(v), link(u, v); } 给
阅读全文
摘要:剪切字符串 题面 给定三个长度为 \(n\) 的仅由小写字母构成的字符串 \(a,b,c\) ,要求选两个分界点 \(i,j\) 最小化 \[lcp(a_{1...i},b_{i+1...j}) + lcp(b_{i + 1...j}, c_{j + 1 ... n}) + lcp(a_{1 ...
阅读全文
摘要:点分治 前言 点分治,顾名思义,就是按照点去分治 其主要解决路径统计问题,例如两个点间距离不超过 \(k\) 的路径有多少条 这东西难起来还是挺难的 算法流程 上面我们也说到了,其主要解决的是路径统计问题,也就是树上满足某种条件的路径条数 给个情景,给定一个树,求长度为 \(k\) 的路径有多少条,
阅读全文
摘要:P6228 汤姆的餐厅 题面 Tom's Kitchen 是一家非常受欢迎的餐厅,其受欢迎的原因之一是每份菜都由至少 $ K $ 名厨师进行准备。今天有 $ N $ 份菜需要准备,第 $ i $ 份菜的准备时间是 $ A_i $ 小时。 Tom 可以雇佣 $ M $ 名厨师,厨师 $ j $ 最多可
阅读全文
摘要:计数中的常见转化 一些组合恒等式 \[\binom n m = \binom {n} {n - m} \\ \sum_{i = 0}^n \binom n i = 2^n \\ \sum_{i = 0}^n \binom i m = \binom {n + 1} {m + 1} \\ \sum_i
阅读全文
摘要:十二重计数法 有 \(n\) 个球,\(m\) 个盒子,将每个球装进盒子,并满足下面的条件,有多少种方案? 1. 球不同,盒不同 相当于每个球选择一个盒子放 答案为 \(m^n\) 2. 球不同,盒不同,每个盒子至多装一个 分两种情况讨论 \(n \le m\) ,对于每个球,找一个没有放过球的盒子
阅读全文
摘要:常见积性函数 一些定义 数论函数:定义域为正整数的函数称为数论函数 积性函数:对于数论函数 \(f\) ,若任意互质的 \(p,q\) 都有 \(f(pq) = f(p)f(q)\) ,则称 \(f\) 是积性函数 完全积性函数:对于数论函数 \(f\) ,若任意 \(p,q\) 都有 \(f(pq
阅读全文
摘要:狄利克雷卷积 常见卷积关系 \(\mu *id = \phi\) \(\mu * 1 = \varepsilon\) \(\phi*1 = id\) \(1*1 = d\) \(id * 1 = \sigma\) \(id^k * 1 = \sigma_k\) \(\sigma_0 * \mu =
阅读全文
摘要:乘法逆元 乘法逆元的定义 若 \(a\times x \equiv 1 ( \bmod b )\) ,且 \(gcd(a,b) = 1\) ,那么我们定义 \(x\) 为 \(a\) 在 \(\bmod b\) 意义下的逆元 对于在 \(\bmod b\) 下的运算,除 \(a\) 要用乘 \(x\
阅读全文
摘要:欧拉函数及其性质 定义 \(1 \sim N\) 中与 \(N\) 互质的数的个数,被称为欧拉函数,记作 \(\varphi(N)\) , phi 如果 \(n\) 是个质数,那么 \(\varphi(n) = n - 1\) 如果 \(n\) 是素数的 \(k\) 次幂,即 \(n = p^k\)
阅读全文
摘要:质因数分解 根据唯一分解定理 任何一个大于 1 的整数都可以被分解成有限个质数的乘积的形式 \[n = \prod_{i = 1}^m p_i^{c_i}=p_1^{c_1} \times p_2^{c_2} \times \cdots \times p_m^{c_m} \] 我们有两种算法来分解一
阅读全文
摘要:最大公约数 先给两种写法 简单,但是慢 int gcd (int a, int b) { return b ? gcd (b, a % b) : a; } 稍微难写一点,但是飞快 int gcd (int a, int b) { if (a == 0 || b == 0) return a | b;
阅读全文
摘要:素数的判定 试除法 最常用的判素数方法 一个数如果不是质数,那么一定能被一个小于它的数整除。假设 \(a \mid n\) 那么 \(\frac n a \mid n\) 不妨设 \(a \le \frac n a\) 则有 \(a^2 \le n,\ a \le \sqrt{n}\) ,所以我们枚
阅读全文
摘要:现在可能理解不是太深刻,但是我还是想把我不深刻的理解记录下来,以防忘记 概念 有一类DP状态方程: \(\displaystyle dp[i] = min\{dp[j]-a[i]d[j]\},\ 0\leq j<i,d[j]\leq d[j+1],a[i]\leq a[i+1]\) 它的特征是存在一
阅读全文