摘要:
P9864 [POI 2021/2022 R2] age 题解 知识点 树形最值 DP,分类讨论。 分析 简化题意 给定 \(k\) 个关键点,将树划分为 \(k\) 个连通块,每个块包含一个关键点。 设特殊点 \(i\) 在其联通块内为端点的最长链长度为 \(len_i\),则一种划分方案的代价为
阅读全文
posted @ 2025-06-19 21:36
Add_Catalyst
阅读(33)
推荐(0)
摘要:
容斥计数 笔记&例题 内容 主要就是容斥原理和二项式反演。 容斥原理 设 \(A_1,A_2,...,A_n\) 是集合 \(S\) 的子集,表示以集合 \(S\) 代表可能发生的事件的 \(n\) 个子事件, \(|A_i|\) 表示子事件 \(A_i\) 发生的次数 \((0 < i \le n
阅读全文
posted @ 2025-06-13 20:41
Add_Catalyst
阅读(4)
推荐(0)
摘要:
P11390 [COCI 2024/2025 #1] 教师 / Učiteljica 题解 知识点 线段树,扫描线,容斥,状压,线段树分治。 分析 首先可以很容易的看出这题和扫描线有关,把 \([l,r]\) 转换成图形上的点即可。我们直接看到子任务 3,满足特殊性质 B:\(k = 1\)。 那么
阅读全文
posted @ 2025-06-11 21:38
Add_Catalyst
阅读(0)
推荐(0)
摘要:
「BZOJ 4361」isn 题解 知识点 DP,组合数学,容斥,树状数组。 分析 首先,我们不考虑「非降时停止」这个限制,那么则可用 DP 求解。 设 \(f_{i,j}\) 表示 \(1\sim i\) 中,组成一个长度为 \(j\) 的非降子序列的方案数。初态和转移式: \[\forall i
阅读全文
posted @ 2025-06-11 20:25
Add_Catalyst
阅读(1)
推荐(0)
摘要:
「BZOJ 4765」普通计算姬 题解 知识点 主席树,分块,DFS 序。 分析 \(O(m\sqrt{n\log_2{n}})\) 我们可以离线对修改操作分块,假设每块长度为 \(B\)。 那么对于每块有修改的点存下来,其余的点 \(O(n)\) 的复杂度内预处理出来,以前缀和的方式存下来。 那么
阅读全文
posted @ 2025-06-07 11:01
Add_Catalyst
阅读(4)
推荐(0)
摘要:
P10656 [ROI 2017] 学习轨迹 (Day 2) 题解 知识点 线段树,单调栈。 分析 首先分析最特殊的情况——只选某一个序列的全部值,这导致后面考虑两个序列都选的时候,其中至少一个序列满足:选的区间和大于整个区间的一半。 因为如果两个序列选的区间和都小于等于其总和一半,那么我们完全可以
阅读全文
posted @ 2025-06-05 16:21
Add_Catalyst
阅读(2)
推荐(0)
摘要:
P11714 [清华集训 2014] 主旋律 题解 知识点 状压计数 DP。 题意简述 一个 \(n\) 个点,\(m\) 条边的有向图,现在删除一些边,求删除边后图为强联通的方案数,答案对 \(10^9+7\) 取模。 分析 考虑单步容斥,得到「图为强联通的方案数」就等于「总方案数」减去「图不为强
阅读全文
posted @ 2025-06-05 14:13
Add_Catalyst
阅读(6)
推荐(0)
摘要:
P3213 [HNOI2011] 勾股定理 题解 知识点 二进制枚举,树形计数 DP。 分析 连边 对于 \(A^2+B^2=C^2\),有 \(A=m^2-n^2,B=2mn,C=m^2+n^2\)。 于是我们枚举 \(m,n\),则可以在 \(O(\sqrt{H}\ln{H})\) 的调和级数复
阅读全文
posted @ 2025-06-04 18:56
Add_Catalyst
阅读(3)
推荐(0)
摘要:
P6361 [CEOI 2018] Fibonacci representations 题解 知识点 Fibonacci 数列,平衡树,齐肯多夫定理,连续段 DP,矩阵优化 DP,动态 DP。 分析 定义 为方便,我们学习一下大佬的表示形式: \[\begin{matrix} b_1 & b_2 &
阅读全文
posted @ 2025-05-30 22:13
Add_Catalyst
阅读(3)
推荐(0)
摘要:
CF1707D Partial Virtual Trees 题解 知识点 树形 DP,二项式反演,容斥。 分析 容斥 考虑先处理容斥的部分,也就是把集合关系中的 \(\subsetneq\) 转为 \(\subseteq\),这里需要用到容斥和反演。 设: \(G(k)\) 表示题目要求的答案。 \
阅读全文
posted @ 2025-05-30 20:56
Add_Catalyst
阅读(5)
推荐(0)
摘要:
P10655 [ROI 2017] 反物质 (Day 2) 题解 知识点 动态规划,记忆化搜索,单调栈,单调队列,决策单调性。 分析 我们考虑设 \(f_i\) 表示质量为 \(i\) 时,最坏情况下利润最大值,然后正序 DP,发现不太好做。 对于这类「最坏至少」问题,我们可以考虑用记忆化搜索的思路
阅读全文
posted @ 2025-05-28 20:58
Add_Catalyst
阅读(6)
推荐(1)
摘要:
P8996 [CEOI 2022] Abracadabra 题解 知识点 线段树,平衡树,树状数组。 分析 首先,我们可以分析一下样例。 洗牌次数 自底向上的牌堆 \(0\) \(7\ 5\ 2\ 9\ 10\ 8\ 4\ 3\ 6\ 1\) \(1\) \(7\ 5\ 2\ 8\ 4\ 3\ 6\
阅读全文
posted @ 2025-05-26 19:51
Add_Catalyst
阅读(4)
推荐(1)
摘要:
P6846 [CEOI 2019] Amusement Park 题解 知识点 状压计数 DP,DAG 计数,容斥,FWT。 分析 首先,如果我们可以花 \(c\) 把原图转成一张 DAG,那么就会有另一种 \(m-c\) 的方案。所以答案就变成了 \(\frac{m}{2}\) 倍的无向图定向 D
阅读全文
posted @ 2025-05-23 18:52
Add_Catalyst
阅读(4)
推荐(0)
摘要:
2024“钉耙编程”中国大学生算法设计超级联赛(1) 模拟总结 A 循环位移 知识点 简单 Hash。 代码 Source code - Virtual Judge (vjudge.net)。 B 星星 知识点 背包,小体积多重背包优化。 分析 本题直接 \(O(\sum nk)\) 也可以卡过,但
阅读全文
posted @ 2025-05-13 22:20
Add_Catalyst
阅读(8)
推荐(1)
摘要:
P9021 [USACO23JAN] Subtree Activation P 题解 知识点 树形 DP。 分析 转化 首先我们可以想到直接在树上进行移动覆盖,最优答案就是覆盖所有节点的最小花费。 我们设初始状态为 \(0\) 节点,从 \(0\) 节点移动到任意节点 \(u(u>0)\) 花费都是
阅读全文
posted @ 2025-05-12 22:12
Add_Catalyst
阅读(1)
推荐(0)
摘要:
「USACO24DEC G」Cowdepenence 题解 知识点 根号分治。 分析 \(O(n\sqrt{n}\log_2{n})\) 我们考虑先将每种颜色分开,然后对于每种颜色分别处理。 可以类比数论分块,我们会发现当距离范围 \(x\) 处于某个区间 \([l,r]\) 时,友谊小组的最小数量
阅读全文
posted @ 2025-05-07 21:58
Add_Catalyst
阅读(6)
推荐(1)
摘要:
莫比乌斯函数 学习笔记 定义 \[\mu(n) = \begin{cases} 1 & n = 1 \\ 0 & p^2|n \\ (-1)^k & n=\prod_{i=1}^k p_k \\ \end{cases} \]其中 \(p,p_i\) 代表质数。 性质 它为积性函数。 \[\sum_{
阅读全文
posted @ 2025-05-04 16:05
Add_Catalyst
阅读(15)
推荐(0)
摘要:
二维莫队复杂度分析及块长计算 分析 设一个矩阵长 \(N\),宽 \(M\),题目询问次数为 \(Q\),块长 \(Bn\),块宽 \(Bm\),指针(矩形端点坐标)为 \(x_a,y_a,x_b,y_b\)。 那么,\(x_a,x_b\) 最大更新次数为:\(Bn\),单次更新时间复杂度 \(O(
阅读全文
posted @ 2025-05-04 15:26
Add_Catalyst
阅读(3)
推荐(0)
摘要:
网络流 学习笔记 前言 网络流中板子并不难,真正难的是复杂度的证明还有一大堆的二级结论,本笔记主要记录学习路上遇到的各种网络流技巧与结论,相关证明可以去 OI Wiki 看。 最大流 & 最小割 首先有一个基本定理:最大流等价于最小割。 Edmonds–Karp 算法 简称 EK 算法,是最最基础的
阅读全文
posted @ 2025-04-03 14:16
Add_Catalyst
阅读(11)
推荐(0)
摘要:
(广义)圆方树 & 仙人掌 学习笔记 前言 圆方树可用于分解仙人掌,同时也可以拿来处理点双,是一个不能错过的知识点。 实现 先对一个无向图跑 Tarjan 求出点双,然后定义: 圆点:就是原点。 方点:每个点双就是一个方点。 然后我们让方点与自己点双中的所有圆点都连上边,就得到了圆方树。 应用 实现
阅读全文
posted @ 2025-03-22 14:33
Add_Catalyst
阅读(16)
推荐(0)
摘要:
[ZJOI2022] 树 题解 知识点 计数动态规划,容斥。 题意简述 要求生成两棵树,满足一下三个条件: 在第一棵树中:\(1\) 为根,对于 \(i\in [2,m]\),从 \([1,i-1]\) 中选一个点作为它的父节点。 在第二棵树中:\(m\) 为根,对于 \(i\in [1,m-1]\
阅读全文
posted @ 2025-03-13 21:11
Add_Catalyst
阅读(7)
推荐(0)
摘要:
ZJOI 2025 游记 前言 NOIP 2024 结束以来,3 个月,为了补文化课,我基本没打几场练习赛,赛前也没有请假来集训,怕影响进度。 本来在 NOIP 已经被消磨的差不多的信心,在这次省选完完全全的被打散了。 正文 刚出车站,夜色渐浓,似乎我这一身在杭州会出汗的衣服在家乡还是略显单薄。“将
阅读全文
posted @ 2025-03-03 17:01
Add_Catalyst
阅读(36)
推荐(0)
摘要:
[HNOI2016] 大数 题解 题意简述 给定一个质模数 \(p\),一个数字串 \(S\),以及 \(m\) 个询问 l,r:问 \(S\) 在 \([l,r]\) 间的子串有几个组成的数字能被 \(p\) 整除。 分析 首先明显的要我们做一个类似字符串 Hash 的前缀操作,设 \(pre_i
阅读全文
posted @ 2025-01-22 11:12
Add_Catalyst
阅读(3)
推荐(0)
摘要:
[HNOI2013] 比赛 题解 分析 尝试记忆化爆搜 DP,然后加入剪枝: 可行性剪枝: 当某队分数非常多,全胜也无法花完,那么延伸出去的所有状态都不合法。 减少状态数: 把分数按大小排序,可以减少很多状态数。 代码 //#define Plus_Cat "" #include<bits/stdc
阅读全文
posted @ 2025-01-22 10:53
Add_Catalyst
阅读(4)
推荐(0)
摘要:
[HNOI2016] 树 题解 题意简述 给定一棵 \(n\) 个点的模版树,然后 \(m\) 次地将它的某棵子树复制到另一棵大树上,然后 \(Q\) 次查询结点间距。 分析 比较简单,只是实现较烦琐。 \(30\%\) \(n,m \le 500\),尝试把模版树的每棵子树都预处理出来,复制时暴力
阅读全文
posted @ 2025-01-22 10:38
Add_Catalyst
阅读(4)
推荐(0)
摘要:
[HNOI2016] 网络 题解 题意简述 给定一棵 \(n\) 个点的树,以及 \(m\) 个操作: 0 a b v:点 \(a,b\) 间连上一条权值为 \(v\) 的虚边。 1 t:删除 \(t\) 时刻连的虚边。 2 x:查询所有两端点在原树上路径不经过 \(x\) 的虚边的权值中,最大的一
阅读全文
posted @ 2025-01-22 10:31
Add_Catalyst
阅读(3)
推荐(0)
摘要:
[HNOI2016] 最小公倍数 题解 题意简述 给定一个 \(n\) 个点,\(m\) 条边的图,每条边 \((u,v)\) 有两个权值 \(a_i,b_i\)。 给定 \(Q\) 个询问 u v a b:问 \(u,v\) 之间有没有一条路径(可以为非简单路径,但至少经过两个点)满足 \(\ma
阅读全文
posted @ 2025-01-22 10:25
Add_Catalyst
阅读(4)
推荐(0)
摘要:
CF1254D Tree Queries 题解 知识点 树剖,树状数组,线段树,DFS 序。 分析 首先知道,题目中的期望就是骗人的,我们先不除以 \(n\),等把答案统计完了之后再除以一个 \(n\) 即可。 接下来考虑如何统计: 在更新的时候将点分种类讨论:假设现在更新操作为 1 v d。 对于
阅读全文
posted @ 2025-01-06 20:52
Add_Catalyst
阅读(7)
推荐(0)
摘要:
[APIO2016] 烟火表演 题解 知识点 可并堆(左偏树),Slope Trick,优化 DP。 分析 \(7\%\) 初一数学绝对值问题,中位数处理即可…… \(26\%\) 注意到距离范围极小,那么可以 DP:设 \(f_{u,i}\) 为到点 \(u\) 时,后面的烟花引爆时间为 \(v\
阅读全文
posted @ 2025-01-06 16:29
Add_Catalyst
阅读(17)
推荐(1)
摘要:
2025-01-06「AHOI#HNOI 2017」(Partial) A 单旋 知识点 线段树,set。 分析 发现题目只要求单旋最大值和最小值,然后我们可以模拟一下,那么我们以最小值为例。 插入一个值: 它的父节点就是它的前驱后继(没有就不用算在内)中深度较大的那个,连接上即可。 单旋最小值:
阅读全文
posted @ 2025-01-06 15:56
Add_Catalyst
阅读(4)
推荐(0)
摘要:
CF1290E Cartesian Tree 题解 知识点 笛卡尔树,势能线段树。 分析 我们知道,对于一棵笛卡尔树和它的任意一个子树,其大小就是覆盖区间的长度,即 \(R-L+1\)。 那么我们可以考虑把答案转化成 \(\sum_{i=1}^n{R_i} - \sum_{i=1}^n{L_i} +
阅读全文
posted @ 2025-01-05 19:26
Add_Catalyst
阅读(7)
推荐(0)
摘要:
P6773 [NOI2020] 命运 题解 知识点 树形计数背包 DP,线段树合并,DP 优化。 分析 \(32\%\) 部分分直接暴力深搜容斥加树剖线段树,可以做到 \(O(2^m\log_2^2{n})\)。 \(40\%\) 在此基础上加虚树或子集卷积(子集卷积没思路,看别人题解看到的)可以有
阅读全文
posted @ 2025-01-05 14:47
Add_Catalyst
阅读(10)
推荐(0)
摘要:
CF1246F Cursor Distance 题解 知识点 倍增。 分析 首先可以暴力建图跑全源最短路,时间复杂度 \(O(nm\log_2{(nm)})\)。 那么这肯定行不通,我们尝试模拟找性质,假设现在尝试求出 \(\operatorname{dist}(i,j)\)。 从 \(i\) 开始
阅读全文
posted @ 2025-01-05 14:43
Add_Catalyst
阅读(12)
推荐(0)
摘要:
NOIP 2024 训练赛 20 总结 # 用户 总分数 A 29 / 35 (84.00) B 19 / 31 (69.35) C 12 / 33 (64.24) D 1 / 13 (43.08) 18 Zhang_Jiahao 240 100 0:59 0 / 100 1:32 100 4:06
阅读全文
posted @ 2024-11-28 15:52
Add_Catalyst
阅读(4)
推荐(0)
摘要:
AT_s8pc_5_f Lunch Menu 题解 知识点 区间最值背包 DP ,模拟退火(假)。 题意简述 给定 \(N,M,Q\),以及长度为 \(N\) 的数组 \(\{ a_i \}_1^{N}\),\(Q\) 个区间 \(\{ [l_i,r_i] \}_1^Q\)。 现可以将至多 \(M\
阅读全文
posted @ 2024-11-25 21:14
Add_Catalyst
阅读(7)
推荐(0)
摘要:
NOIP 2024 集训短期总结 2 范围 时间:2024.11.12 ~ 2024.11.22,总计 10 天。 比赛:NOIP 训练赛 10~16(7/7 NOI)。 总结 这段时间,养成了较快打模版和提前读题的好习惯,但是对于时间分配和检查还有些许问题。 时间分配 这里的时间分配不止有各个题目
阅读全文
posted @ 2024-11-23 16:12
Add_Catalyst
阅读(15)
推荐(0)
摘要:
NOIP 2023 真题模拟总结 题目 词典(dict) 三值逻辑(tribool) 双序列拓展(expand) 天天爱打卡(run) 总分 分数 100 100 35 36 271 词典(dict) [NOIP2023] 词典 题解 - plus_cat - 博客园 (cnblogs.com)。
阅读全文
posted @ 2024-11-22 21:43
Add_Catalyst
阅读(28)
推荐(0)
摘要:
[NOIP2023] 天天爱打卡 题解 知识点 动态规划,动态规划优化,线段树。 题意简述 总共 \(n\) 天,每天可以选择跑步或不跑,跑步会花费 \(d\) 单位能量,能量可以变为负数。 有 \(m\) 个奖励,每个形如 \((x_i,y_i,v_i)\),代表到第 \(x_i\) 天,如果跑步
阅读全文
posted @ 2024-11-22 21:30
Add_Catalyst
阅读(54)
推荐(0)
摘要:
[NOIP2023] 双序列拓展 题解 知识点 Ad-hoc,贪心,动态规划。 题意简述 给定两个序列 \(X,Y\),要求将两个序列中每个元素都替换成多个相同的元素,最终得到两个长为 \(10^{100}\) 的拓展序列 \(F = \{ f_i \},G = \{ g_i \}\),满足 \(\
阅读全文
posted @ 2024-11-22 21:28
Add_Catalyst
阅读(20)
推荐(0)
摘要:
[NOIP2023] 三值逻辑 题解 知识点 (扩展域)并查集,缩点,二分图,2-SAT。 题意简述 有 \(n\) 个逻辑变量 \(\{ x_i \}_1^n\),每逻辑变量值有三种可能:\(T\),\(F\),\(U\),分别表示 true,false,unknown。 现在有一种运算符逻辑非运
阅读全文
posted @ 2024-11-22 21:27
Add_Catalyst
阅读(86)
推荐(0)