04 2024 档案
重建计划 题解
摘要:题意:一棵树,有边权,求边权平均值最大且经过点数在 的路径长度. Solution 首先二分答案 ,每条边权减去 后问题转为求最大路径长度,若答案 则可行 1 边分治保平安。 先转二叉树,这里有两种方法:一种是像线段树一样建,另一种是普通贪
数表 题解
摘要:“当你想不出来一道题的时候就想一下排序” 先不考虑 ,求 \[ \begin{aligned} &\sum_{i=1}^n\sum_{j=1}^m\sigma_1(\gcd(i,j))\\ =&\sum_{i=1}^n\sum_{j=1}^m\sum_{d=1}^{\min(n,m)}[d
P3281 数数 题解
摘要:j带来的贡献: \(\displaystyle\sum_{j=i+1}^n\left\{f[i]*b^{j-i}+i\cdot\dfrac{b^{j-i}(b^{j-i}-1)}2+p
俄罗斯方块 题解
摘要:题意:矩阵 checkmax、矩阵求 max,checkmax 的值一定比当前矩阵原 max 大 外层线段树每个节点开一棵线段树,每个点记录 列的 max 与 checkmax 的标记 checkmax 时:对路过的点的 max 更新,对完全包含的区间的 checkmax 标记更新 求 max 时:
欧依LCA
摘要:问题描述:如题, 法一 用欧拉序做深度的 RMQ,可惜有二倍常数 法二 直接考虑 dfn 序,画画图发现 之间一定经过了 \(\text{dfn}_{\text{LCA}}\
一句话 Lucas
摘要:狭义 Lucas( 质数): 转成 进制,然后算对应位组合数相乘 完整 Lucas:对于 ,分讨 中 的倍数和非 的倍数;对于 ,中国剩余定理合并. 其实本质上就是对着 \(\dfrac{n!}{m!(
数学题 2(筛子题)
摘要:T1 Statement 求出 的线性筛递推式,并证明复杂度是线性的。 Solution \[ \gcd(n,k)=\begin{cases} 1&(n=1)\\ \gcd(\frac n{P(n)},k)\cdot P(n)&(\gcd(\frac n{P(n)},k)
dp 题 2
摘要:T1 Statement 你需要将 个数的序列 划分成若干连续段,设其中一段的所有数之和为 ,那么这段的得分为 ,其中 已知,求划分得到的最大总得分。\(-5\le a\le-1,|b|,|c|\
置换 & 基环树题
摘要:T1 Statement 给一个长度为 的排列 。求一个排列 ,使得 ,或输出不存在。 Solution 先把所有排列变成置换 对于任意排列 ,它转成置换后都是 \(i\to
数位 dp 题
摘要:T1 Statement 任意相邻两个数字之差至少为 的正整数被称为 windy 数。给出 ,求 中有多少个 windy 数。 Solution 我们使用记忆化搜索实现。 表示
荒岛野人 题解
摘要:Statement 有 个野人,第 个野人的寿命是 年。荒岛上有 个山洞排列成一个环,但你不知道 到底是多少。第 个野人第一年会从第一个山洞开始往后数 个住下来,此后每一年都会
主定理
摘要:记 \[ T(n)=\begin{cases}\Theta(n^t)\ \ \ \ \ &f(n)=O(n^{t-\epsilon}),\epsilon>0\\\Theta(f(n))&f(n
整体二分
摘要:主要思想:把多个询问一起解决(一次二分同时处理多个询问,确实顾名思义) 记 为答案的值域, 为答案的定义域,。(也就是说求答案时仅考虑下标在 内的操作和询问,这其中询问 的答案在 内) 我们首
一句话
摘要:点分治 对于一棵子树,即正常 dfs 的根改成该子树重心,递归下去是按原树儿子所在子树的重心(每次找一遍),变成了子问题,可以处理与树形态没什么关联的问题 发现 siz 每次减半,故深度 log 层;同时 siz 大小总和的复杂度是对的 由于总是处理的整棵子树,而答案与子树遍历关系无关,所以一定是对
停机问题
摘要:为什么停机问题是图灵不可计算问题? 若人脑是图灵机 那么举个例子:你在做一道题时,你想要知道你自己能不能在有限时间内做出这道题 但是如果这道题是证明或证伪黎曼猜想 那你就不知道你自己能不能在有限时间内做出这道题了 因为你有可能一生都做不出来,也有可能某个灵感就做出来了,这个结果你不知道 严谨证明 首
数学基础
摘要:1. 倍数筛法 vector<int> p[N]; // 约数 for (int i = 1; i <= n; i++) for (int j = i; j <= n; j += i) p[j].push_back(i); 在 时间内生成每个数的约数表