随笔分类 - OI
摘要:记录自己做过的数据结构题。不一定(但大致)按时间顺序排列。
阅读全文
摘要:记录 ABC/ARC/AGC 考察的知识点。待完善。
阅读全文
摘要:期望 dp 普通期望 dp CF1925D Good Trip 有 \(n\) 个同学,\(m\) 对朋友。起初,第 \(i\) 对朋友的友好值为 \(f_i\),非朋友的友好值为 \(0\)。 执行 \(k\) 次操作: 选中两个同学; 若他们是朋友,则将他们的友好值加上 \(1\)。 求每次操作
阅读全文
摘要:KMP 我们考虑朴素的字符串匹配过程。 void match(const string& s, const string& p) { // find p in s for (int i=0; i<s.size(); ++i) for (int j=0; j<p.size()&&i+j<s.size(
阅读全文
摘要:浅谈筛法 Euler 筛 P3601 签到题 P4626 一道水题 II Eratosthenes 筛 可以证明(不是“不难证明”),Eratosthenes 筛的复杂度为 \(\Theta(n\log \log n)\)。 Eratosthenes 筛的复杂度证明 Dirichlet 前缀和 以
阅读全文
摘要:矩阵上的 dp: 按格 dp / 轮廓线 dp 设 \(f[i,j,S]\) 表示考虑到第 \(i\) 行第 \(j\) 个格子,轮廓线上所有的格子的状态。 复杂度为 \(\Theta(nm|S|)\)。 按行 dp \(f[i,S]\) 表示选完前 \(i\) 行的合法方案数。 总复杂度为 \(\
阅读全文
摘要:P1352 没有上司的舞会 对于有根树 \(T\),求其最大权独立集。\(n\leq 6\times 10^3\)。 设 \(f[i,0/1]\) 为选中/不选中 \(i\) 的最大收益。我们有 \[f[u,0]=\sum_{v\in \mathrm{son}(u)}\max(f[v,0],f[v,
阅读全文
摘要:“数论所生,繁华之地。” —— 一径入繁华 在未特殊指出的前提下,字母均代表正整数。 持续补充中,如果有任何问题或者想要交流,欢迎联系我。 Upd on 2024/9/20:完善了一些内容。 数论分块 引理 1 \[\left\lfloor\frac{a}{bc}\right\rfloor=\lef
阅读全文
摘要:多项式进阶与组合数学 Stirling 数 第一类 Stirling 数 记为 \(\displaystyle {n\brack k}\),表示将 \(n\) 个元素划分成 \(k\) 个无序环的方案数(不能有空环)。 边界为 \(\displaystyle {n\brack 0}=[n=0]\)。
阅读全文
摘要:本题解是对 warzone 的题解的补充。 题意:求 \[\sum_{i=1}^n i^k a^i \] 普通版:\(k\leq 2\times 10^3\)。 加强版:\(k\leq 10^7\)。 首先先考虑普通版。 \[\begin{aligned} \sum_{i=1}^n i^k a^i&
阅读全文
摘要:用红色标出来的是需要特别注意的地方。 计数原理 乘法原理 \(n\) 元组 \((a_1,a_2,\cdots,a_n)\) 中,\(a_1\) 有 \(x_1\) 种取值,\(a_2\) 有 \(x_2\) 种取值,\(\cdots\),\(a_n\) 有 \(x_n\) 种取值,则一共有 \(\
阅读全文
摘要:先考虑子问题:给定序列 \(\left\{a_i\right\}\),多次询问给定 \([l,r]\),求 \[\sum_{l\leq p\leq q\leq r} \bigoplus _{i=p}^q a_i \]其中 \(\oplus\) 表示按位异或运算。 考虑拆位,这样就只需要考虑 \(\t
阅读全文
摘要:多项式基础 Lagrange 插值法 Lagrange 插值 I 给定 \(n\) 个点 \((x_i,y_i)\),求出一个 \((n-1)\) 次多项式经过所有的点。 对 \(998,422,353\) 取模。\(n\leq 2\times 10^3\)。 我们考虑构造 \(f_i(x)\) 表
阅读全文
摘要:线段树与历史最值问题 P4314 CPU 监控 Description 给定数组 \(\{a_i\}\),维护以下操作。定义一个辅助数组 \(\{b_i\}\),每次操作完后令 \(b_i=\max(a_i,b_i)\)。 查询 \(\max_{i=l}^{r} a_i\)(区间最值) 查询 \(\
阅读全文
摘要:树状数组 树状数组支持的基本操作:单点修改,前缀和查询 一维树状数组 单点修改,区间查询 对于单点修改,直接修改即可。 对于区间查询,拆成 \(sum(r)-sum(l-1)\) 来做。 区间修改,单点查询 考虑在原序列的差分序列上建立树状数组。 于是单点修改转化为前缀和查询。区间修改转化为单点修改
阅读全文
摘要:杂题选记 A Statement 给定一个长度为 \(n\) 的单调不降的整数数列 \(A\)。 有 \(q\) 次相互独立的询问,每次询问给定 \(l,r\),从时刻 \(0\) 起,每个时刻对于 \(\forall i\in \left[l,r\right)\) 且 \(A_i \textcol
阅读全文
摘要:动态规划三要素 阶段,状态,决策 动态规划经典模型 LIS(最长上升子序列) 给定长度为 \(N\) 的序列 \(A[i]\),求出其最长上升子序列的长度。(以不严格上升为例) 阶段:已经处理的序列长度 \(i\) 状态:\(f[i]\) 表示以 \(A[i]\) 结尾的 LIS 长度 转移 \[f
阅读全文

浙公网安备 33010602011771号