随笔分类 - 题解
摘要:题目传送门 前置知识 矩阵加速递推 解法 直接递推显然不可做,考虑矩阵加速递推。 令 \(F_{n}=\begin{bmatrix} f_{n} & f_{n+1} & f_{n+2} & \dots & f_{n+d-1} \end{bmatrix}\),容易有 \(\begin{aligned}
阅读全文
摘要:题目传送门 前置知识 后缀数组简介 解法 一个子串出现至少 \(2\) 次等价于有至少连续 \(2\) 个后缀以这个子串作为公共前缀。 进行一次后缀排序后,有 \(\max\limits_{i=1}^{|s|} \{ height_{i} \}\) 即为所求。 代码 #include<bits/st
阅读全文
摘要:题目传送门 前置知识 后缀数组简介 解法 对于一个后缀 \(s_{sa_{i} \sim n}\),它产生了 \(n-sa_{i}+1\) 个前缀,其长度和为 \(\frac{(n-sa_{i}+1)(n-sa_{i}+2)}{2}\);和 \(s_{sa_{i-1} \sim n}\) 相比产生了
阅读全文
摘要:题目传送门 前置知识 动态规划基础 解法 设 \(f_{i,j}\) 表示 \(1 \sim i\) 的全排列中存在 \(j\) 个逆序对的方案数,状态转移方程为 \(f_{i,j}=\sum\limits_{k=j-\min(i-1,j)}^{j}f_{i-1,k}=\sum\limits_{k=
阅读全文
摘要:题目传送门 前置知识 树形 DP 解法 将 \(a_{i}\) 向 \(i\) 连一条有向边,这样就形成了基环外向树森林。 基环外向树森林内每棵基环外向树是相互独立的,需要单独处理。 对于每棵基环外向树,任取环上一点 \(x\),断开 \(x\) 到 \(fa_{x}\) 的有向边,外向树就变成了一
阅读全文
摘要:题目传送门 前置知识 概率 DP 解法 设 \(f_{i}\) 表示有 \(i\) 张数字牌没进入 \(S\),即 \(S\) 中只有 \(n-i\) 张数字牌时的期望轮数,有 \(f_{i}= \frac{i}{i+m}f_{i-1}+ \frac{m}{i+m}(f_{i}+1)\),解得 \(
阅读全文
摘要:题目传送门 前置知识 博弈论 解法 由于本题是 CF1628D1 Game on Sum (Easy Version) 的扩展,故先从 CF1628D1 Game on Sum (Easy Version) 讲解。 CF1628D1 Game on Sum (Easy Version) 设 \(x_
阅读全文
摘要:题目传送门 (Easy Version) | 题目传送门 (Hard Version) 前置知识 博弈论 解法 CF1628D1 Game on Sum (Easy Version) 设 \(x_{i}\) 表示第 \(i\) 轮时 Alice 选择的数。 设 \(f_{i,j}\) 表示已经进行了
阅读全文
摘要:题目传送门 前置知识 背包 DP 解法 观察到 \(w\) 极大,若使用正常的背包空间会爆炸。 依据 AT_dp_e Knapsack 2 的经验,考虑将背包“反”着用。设 \(f_{i,j}\) 表示到第 \(i\) 棵树时一共召唤了 \(j\) 只小鸟时剩余的最大魔力值,状态转移方程为 \(f_
阅读全文
摘要:题目传送门 前置知识 概率 DP | 树形 DP |RMQ 解法 观察到区间只有相离或包含关系,类似线段树的管辖区间,考虑将其构成树形关系。为方便代码书写,将原来的森林构成一棵树,即增加一个区间 \(l_{q+1}=1,r_{q+1}=n,p_{q+1}=0\)。 由于对于一个区间 \([l,r]\
阅读全文
摘要:题目传送门 前置知识 前缀函数与 KMP 算法 | 状压 DP 解法 由于 \(\sum\limits_{i=1}^{n} |S_{i}|\) 极大且不需要记录路径,所以 luogu P2322 [HNOI2006] 最短母串问题 的枚举所有可能的字符串 \(T\) 进行判断不可做。 设 \(f_{
阅读全文
摘要:题目传送门 前置知识 Meet in the middle 解法 非正解 当成超大背包来做,暴力枚举每个数是否进行相加。 时间复杂度为 \(O(2^{n})\)。 ll p[50],ans=0; void dfs(ll x,ll n,ll m,ll worth) { if(x==n+1) { if(
阅读全文
摘要:题目传送门 前置知识 二分答案 解法 观察到要使价值最小值最大,考虑二分答案。 二分所能得到的华丽度,基本与 luogu P1182 数列分段 Section II 一致。具体地,依次枚举 \(1 \sim n\) 对距离和画的价值进行判定,注意对当前是第一次展出时进行特判。 代码 #include
阅读全文
摘要:题目传送门 前置知识 前缀函数与 KMP 算法 解法 经检验 样例,我们发现 \(|S|k\) 并不是最优答案。 考虑利用 luogu P4391 [BOI2009] Radio Transmission 无线传输 结论的逆命题,首先必须要有一个完整的 \(S\),然后将 \(|S|-next_{S
阅读全文
摘要:题目传送门 前置知识 前缀函数与 KMP 算法 解法 考虑将 \(S\) 翻转后得到 \(S'\),然后就转化为求 \(S'\) 的一个最长子串使得其是 \(S\) 的前缀。使用 KMP 求解即可。 代码 #include<bits/stdc++.h> using namespace std; #d
阅读全文
摘要:题目传送门 前置知识 欧拉函数 解法 欧拉反演,简单地推下式子即可。 \(\begin{aligned}\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} \gcd(i,j)^{2} &=\sum\limits_{i=1}^{n} \sum\limits_{j=1
阅读全文
摘要:题目传送门 前置知识 单调栈 解法 令 \(f_{i,j}(1 \le i \le n,1 \le j \le m)\) 表示从 \((1,j)\) 到 \((i,j)\) 中以 \((i,j)\) 结尾的均为 F 的子串长度,即 \((i,j)\) 上面可延伸的最大距离(子矩形的长)。 用单调栈的
阅读全文
摘要:题目传送门 前置知识 大步小步算法 解法 递推式为 \(x_{n}=(ax_{n-1}+b) \bmod p\),发现可以统一消去 \(\bmod p\) ,只在最后参与计算。以下过程省去模运算。 当 \(x_{0}=t\) 时,则 \(n=0\) 即为所求。 当 \(a=0,x_{0} \ne t
阅读全文
摘要:题目传送门 前置知识 贪心 | 构造 解法 从贪心的角度分析,最小的 \(\operatorname{mex}\) 仅会与长度最小的区间有关;另外为使得 \(\operatorname{mex}\) 最大,当 \(\operatorname{mex}\) 等于区间长度的时候即为所求。记 \(ans\
阅读全文
摘要:题目传送门 前置知识 圆排列 解法 \(\dfrac{Q_{n}^{\frac{n}{2}}Q_{\frac{n}{2}}^{\frac{n}{2}}}{A_{2}^{2}}\) 即为所求。 同时因为 \(n \le 20\) 和没有模数,所以不需要处理逆元,暴力算即可。 代码 #include<b
阅读全文

浙公网安备 33010602011771号