摘要:
网络流 学习笔记 前言 网络流中板子并不难,真正难的是复杂度的证明还有一大堆的二级结论,本笔记主要记录学习路上遇到的各种网络流技巧与结论,相关证明可以去 OI Wiki 看。 最大流 & 最小割 首先有一个基本定理:最大流等价于最小割。 Edmonds–Karp 算法 简称 EK 算法,是最最基础的 阅读全文
摘要:
(广义)圆方树 & 仙人掌 学习笔记 前言 圆方树可用于分解仙人掌,同时也可以拿来处理点双,是一个不能错过的知识点。 实现 先对一个无向图跑 Tarjan 求出点双,然后定义: 圆点:就是原点。 方点:每个点双就是一个方点。 然后我们让方点与自己点双中的所有圆点都连上边,就得到了圆方树。 应用 实现 阅读全文
摘要:
[ZJOI2022] 树 题解 知识点 计数动态规划,容斥。 题意简述 要求生成两棵树,满足一下三个条件: 在第一棵树中:\(1\) 为根,对于 \(i\in [2,m]\),从 \([1,i-1]\) 中选一个点作为它的父节点。 在第二棵树中:\(m\) 为根,对于 \(i\in [1,m-1]\ 阅读全文
摘要:
ZJOI 2025 游记 前言 NOIP 2024 结束以来,3 个月,为了补文化课,我基本没打几场练习赛,赛前也没有请假来集训,怕影响进度。 本来在 NOIP 已经被消磨的差不多的信心,在这次省选完完全全的被打散了。 正文 刚出车站,夜色渐浓,似乎我这一身在杭州会出汗的衣服在家乡还是略显单薄。“将 阅读全文
摘要:
[HNOI2016] 大数 题解 题意简述 给定一个质模数 \(p\),一个数字串 \(S\),以及 \(m\) 个询问 l,r:问 \(S\) 在 \([l,r]\) 间的子串有几个组成的数字能被 \(p\) 整除。 分析 首先明显的要我们做一个类似字符串 Hash 的前缀操作,设 \(pre_i 阅读全文
摘要:
[HNOI2013] 比赛 题解 分析 尝试记忆化爆搜 DP,然后加入剪枝: 可行性剪枝: 当某队分数非常多,全胜也无法花完,那么延伸出去的所有状态都不合法。 减少状态数: 把分数按大小排序,可以减少很多状态数。 代码 //#define Plus_Cat "" #include<bits/stdc 阅读全文
摘要:
[HNOI2016] 树 题解 题意简述 给定一棵 \(n\) 个点的模版树,然后 \(m\) 次地将它的某棵子树复制到另一棵大树上,然后 \(Q\) 次查询结点间距。 分析 比较简单,只是实现较烦琐。 \(30\%\) \(n,m \le 500\),尝试把模版树的每棵子树都预处理出来,复制时暴力 阅读全文
摘要:
[HNOI2016] 网络 题解 题意简述 给定一棵 \(n\) 个点的树,以及 \(m\) 个操作: 0 a b v:点 \(a,b\) 间连上一条权值为 \(v\) 的虚边。 1 t:删除 \(t\) 时刻连的虚边。 2 x:查询所有两端点在原树上路径不经过 \(x\) 的虚边的权值中,最大的一 阅读全文
摘要:
[HNOI2016] 最小公倍数 题解 题意简述 给定一个 \(n\) 个点,\(m\) 条边的图,每条边 \((u,v)\) 有两个权值 \(a_i,b_i\)。 给定 \(Q\) 个询问 u v a b:问 \(u,v\) 之间有没有一条路径(可以为非简单路径,但至少经过两个点)满足 \(\ma 阅读全文
摘要:
CF1254D Tree Queries 题解 知识点 树剖,树状数组,线段树,DFS 序。 分析 首先知道,题目中的期望就是骗人的,我们先不除以 \(n\),等把答案统计完了之后再除以一个 \(n\) 即可。 接下来考虑如何统计: 在更新的时候将点分种类讨论:假设现在更新操作为 1 v d。 对于 阅读全文
摘要:
[APIO2016] 烟火表演 题解 知识点 可并堆(左偏树),Slope Trick,优化 DP。 分析 \(7\%\) 初一数学绝对值问题,中位数处理即可…… \(26\%\) 注意到距离范围极小,那么可以 DP:设 \(f_{u,i}\) 为到点 \(u\) 时,后面的烟花引爆时间为 \(v\ 阅读全文
摘要:
2025-01-06「AHOI#HNOI 2017」(Partial) A 单旋 知识点 线段树,set。 分析 发现题目只要求单旋最大值和最小值,然后我们可以模拟一下,那么我们以最小值为例。 插入一个值: 它的父节点就是它的前驱后继(没有就不用算在内)中深度较大的那个,连接上即可。 单旋最小值: 阅读全文
摘要:
CF1290E Cartesian Tree 题解 知识点 笛卡尔树,势能线段树。 分析 我们知道,对于一棵笛卡尔树和它的任意一个子树,其大小就是覆盖区间的长度,即 \(R-L+1\)。 那么我们可以考虑把答案转化成 \(\sum_{i=1}^n{R_i} - \sum_{i=1}^n{L_i} + 阅读全文
摘要:
P6773 [NOI2020] 命运 题解 知识点 树形计数背包 DP,线段树合并,DP 优化。 分析 \(32\%\) 部分分直接暴力深搜容斥加树剖线段树,可以做到 \(O(2^m\log_2^2{n})\)。 \(40\%\) 在此基础上加虚树或子集卷积(子集卷积没思路,看别人题解看到的)可以有 阅读全文
摘要:
CF1246F Cursor Distance 题解 知识点 倍增。 分析 首先可以暴力建图跑全源最短路,时间复杂度 \(O(nm\log_2{(nm)})\)。 那么这肯定行不通,我们尝试模拟找性质,假设现在尝试求出 \(\operatorname{dist}(i,j)\)。 从 \(i\) 开始 阅读全文
摘要:
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 阅读全文
摘要:
AT_s8pc_5_f Lunch Menu 题解 知识点 区间最值背包 DP ,模拟退火(假)。 题意简述 给定 \(N,M,Q\),以及长度为 \(N\) 的数组 \(\{ a_i \}_1^{N}\),\(Q\) 个区间 \(\{ [l_i,r_i] \}_1^Q\)。 现可以将至多 \(M\ 阅读全文
摘要:
NOIP 2024 集训短期总结 2 范围 时间:2024.11.12 ~ 2024.11.22,总计 10 天。 比赛:NOIP 训练赛 10~16(7/7 NOI)。 总结 这段时间,养成了较快打模版和提前读题的好习惯,但是对于时间分配和检查还有些许问题。 时间分配 这里的时间分配不止有各个题目 阅读全文
摘要:
NOIP 2023 真题模拟总结 题目 词典(dict) 三值逻辑(tribool) 双序列拓展(expand) 天天爱打卡(run) 总分 分数 100 100 35 36 271 词典(dict) [NOIP2023] 词典 题解 - plus_cat - 博客园 (cnblogs.com)。 阅读全文
摘要:
[NOIP2023] 天天爱打卡 题解 知识点 动态规划,动态规划优化,线段树。 题意简述 总共 \(n\) 天,每天可以选择跑步或不跑,跑步会花费 \(d\) 单位能量,能量可以变为负数。 有 \(m\) 个奖励,每个形如 \((x_i,y_i,v_i)\),代表到第 \(x_i\) 天,如果跑步 阅读全文
摘要:
[NOIP2023] 双序列拓展 题解 知识点 Ad-hoc,贪心,动态规划。 题意简述 给定两个序列 \(X,Y\),要求将两个序列中每个元素都替换成多个相同的元素,最终得到两个长为 \(10^{100}\) 的拓展序列 \(F = \{ f_i \},G = \{ g_i \}\),满足 \(\ 阅读全文
摘要:
[NOIP2023] 三值逻辑 题解 知识点 (扩展域)并查集,缩点,二分图,2-SAT。 题意简述 有 \(n\) 个逻辑变量 \(\{ x_i \}_1^n\),每逻辑变量值有三种可能:\(T\),\(F\),\(U\),分别表示 true,false,unknown。 现在有一种运算符逻辑非运 阅读全文
摘要:
[NOIP2023] 词典 题解 知识点 贪心,排序。 题意简述 给 \(n\) 个两两不同的长度都为 \(m\) 的单词,每个单词内部可以随意排序。 问在对这 \(n\) 个单词排序后,有哪些有可能成为字典序最小的单词。 分析 首先,如果要让某个单词成为字典序最小的,那么我们只要让它内部升序排序, 阅读全文
摘要:
NOIP 2022 真题模拟总结 模拟情况 题目 种花(plant) 喵了个喵(meow) 建造军营(barrack) 比赛(match) 总分 分数 100 15 100 20 235 时间 00:57:51 01:45:46 02:57:06 03:13:07 03:13:07 种花(plant 阅读全文
摘要:
[NOIP2022] 比赛 题解 知识点 随机化思想(部分分)、笛卡尔树(部分分)、线段树、分块、线段树分治、莫队二次离线。 题意简述 给定 \(n\) 和两个排列 \(\{a_i\}_1^n,\{b_i\}_1^n\)。 现在有 \(Q\) 个询问,每个询问如下:给出 \(l,r\),求 \[\s 阅读全文
摘要:
[NOIP2022] 喵了个喵 题解 知识点 贪心,构造,模拟。 题意简述 本题有多组询问。 有 \(n\) 个栈,一个包含 \(m\) 张牌的牌堆,这些牌有 \(k \in \{2n - 2,2n - 1\}\) 种。 现在可进行如下操作: 取出牌堆顶的牌,放入某个栈。如果原栈顶牌种类与它相同,则 阅读全文
摘要:
[NOIP2022] 建造军营 题解 知识点 边双连通分量,树形 DP。 题意简述 一张 \(n\) 个点,\(m\) 条边的无向连通图,现在选出任意个特殊点,要求再选出一种选边方案使得:断掉任意一条不被选的边,所有特殊点仍连通。 现在问所有选特殊点和对应选边方案的总数。 分析 首先可以看出我们需要 阅读全文
摘要:
[NOIP2022] 种花 题解 知识点 枚举、前缀和。 题意简述 分别求给出的二维网格图中不经过障碍的连成 “C” 形和 ”F“ 形的方案数。 分析 固定横坐标,纵坐标后缀累加无障碍最远的地方,作为 “C” 和 “F” 的两横。 然后固定纵坐标,横坐标前缀累加求无障碍最远值的和,作为 “C” 和 阅读全文
摘要:
CSP-S 2024 总结 比赛情况 题目 决斗(duel) 超速检测(detect) 染色(color) 擂台游戏(arena) 分数 \(\color{green}{100}\) \(\color{greenyellow}{60}\) \(\color{yellow}{50}\) \(\colo 阅读全文
摘要:
[CSP-S 2024] 擂台游戏 题解 知识点 模拟,贪心,递归,差分。 题意简述 给你 \(n\) 个选手及其能力值 \(\{a_i\}\) 和 \(Q\) 个询问,每个询问给定一个 \(c_i\),问:只取前 \(c_i\) 个人进行淘汰赛时,可能获胜的人的编号和(人数不足时,自动补齐至最小的 阅读全文
摘要:
[CSP-S 2024] 染色 题解 知识点 动态规划,数据结构,动态规划优化。 题意简述 ……(这个还是算了) 分析 一个决策问题,显然的最值背包 DP 解决。 \(50\%\) 考虑暴力,设 \(f_{i,j}\) 表示到第 \(i\) 位,上一个异色的数字是 \(j\),最大得分是多少。 那么 阅读全文
摘要:
[CSP-S 2024] 超速检测 题解 知识点 二分,贪心,物理。 题意简述 给你一条长为 \(L\) 的公路。 有 \(n\) 辆车在做同向的匀速直线运动或匀变速直线运动,给定它们的起点 \(d_i\),初速度 \(v_i\),加速度 \(a_i\)(匀速直线运动时 \(a_i=0\))。 设置 阅读全文
摘要:
[CSP-S 2024] 决斗 题解 知识点 贪心,路径压缩并查集,Dilworth 定理。 题意简述 \(n\) 个怪物战斗,其值分别为 \(a_1,a_2,\ldots\),值大的能打败小的,每个怪兽只能攻击一次,问最少能剩下几个怪兽。 分析 贪心 贪心一下,从小到大排序,然后能往前攻击的就攻击 阅读全文
摘要:
[NOIP2021] 棋局 题解 知识点 并查集,启发式合并,线段树合并。 分析 这可以算码农题了,码量大,不过还算好调。(不过在考场上没把握是肯定不敢写正解的。) 首先有一个十分明显的并查集套路:操作离线再倒过来,把分裂变成合并。然后我们只要在合并时顺便查询即可。 思考计数方式显然是这题最重要的部 阅读全文
摘要:
[NOIP2021] 方差 题解 知识点 差分,最小值背包 DP,模拟退火。 分析 首先,定义 \(\{ a_i \}\) 的差分数组 \(\{ d_i \}\),其中 \(d_i = a_{i+1} - a_i,i\in [1,n)\)。 那么 \(a_i \gets a_{i-1} + a_{i 阅读全文
摘要:
[NOIP2021] 数列 题解 知识点 状压组合计数 DP。 分析 DP 套路 把无序的变成有序的: 我们按照下标遍历 \(\{v_i\}\),一个个插入到最终的答案序列,并用组合数转化,那么这样无序的就变成了有序的。 观察数据范围上限: 发现按照顺序遍历后,进位始终比 \(32\) 小,那么就可 阅读全文
摘要:
[NOIP2021] 报数 题解 知识点 埃氏筛,离线。 分析 首先暴力很简单,直接枚举强行判断即可。 接下来考虑优化,发现 \(1 \le x \le 10^7\),那么完全是可以预处理出来的。 模仿埃氏筛,会得到一个常数极小的筛法,时间复杂度大概 \(O(X\log_{2}{\log_{2}{X 阅读全文
摘要:
[NOIP2020] 微信步数 题解 知识点 模拟,(连续横坐标下的)Lagrange 插值。 分析 我们肯定是要把所有的起点放到一起算,然后就形成了一个 \(k\) 维长方体,容易发现各个维度毫无关联,可以分开计算。 无解 要是第一轮存在没有出界的点,并且一轮后仍在原地,那么它就会无解。 代码 b 阅读全文
摘要:
[NOIP2020] 移球游戏 题解 知识点 分治,构造。 分析 \(10\%\) 我们把操作、思路化到最简:为每一个栈钦定一个颜色,如果里面有不一样的,就把它们一个一个提到栈顶,然后最后就可以很简单地交换。 次数等级与时间复杂度:\(O(nm^2)\)。 代码 namespace Subtask_ 阅读全文
摘要:
[NOIP2020] 字符串匹配 题解 知识点 KMP,扩展 KMP(Z 函数)。 分析 首先我们来考虑一个做法:枚举 \(AB\) 串的长度,也就是枚举前缀是 \(AB\) 串,然后再向后跳,找到满足条件的 \({(AB)}^iC\),这里用前后缀和的方式处理出各个前后缀出现奇数次的字符的数量,然 阅读全文