NOIP冲刺做题记录
为有牺牲多壮志,敢教日月换新天!
二十天,或许为时已晚,但至少无悔。
\(\texttt{11.9 Day -20}\)
- P10371 「LAOI-4」石头
小分讨+单调性+链表 - [AGC062C] Mex of Subset Sum
分讨+数学归纳法(类似) - [ARC139D] Priority Queue 2
重新考虑贡献计算 - P9593 「Daily OI Round 1」Block
新颖的树形DP+计数 - P10093 [ROIR 2022 Day 2] 礼物
枚举每一个数作为答案,计算贡献 - P8252 [NOI Online 2022 提高组] 讨论
人类智慧,找判定性质,优化
\(\texttt{11.11 Day -18}\)
-
P1250 种树
贪心
非常典的贪心,把区间要种的树尽可能延后,满足无后效性。 -
P7949 [✗✓OI R1] 左方之地
线性基+格雷码
利用线性基构造所有的数,再利用格雷码构造出只有一个基差的相邻数。 -
P9695 [GDCPC2023] Traveling in Cells
大分块,细节较多。 -
[ARC173D] Bracket Walk
负环+性质
利用循环括号链零环的性质,由于线性方程的性质,转化为判定正负环的存在性。 -
[ABC348E] Minimize Sum of Distances
非常典的换根DP,预处理子树权值和,换根时计算每次移动的贡献差 -
P1993 小 K 的农场
差分约束板题 -
P8346 「Wdoi-6」最澄澈的空与海
二分图+图论性质分讨
注意到满足题意的二分图一定存在度数为一的点,进而暴力匹配求解。 -
P10357 [PA2024] Żelki
分组背包+同余最短路
由于要求每组颜色都要选,并且同时预处理选两组一定不会更优,考虑分组背包预处理不同余数下的最小代价,然后跑同余最短路。 -
[ARC175D] LIS on Tree 2
贪心人类智慧+拆点贡献+构造
考虑一个点的权值强制做为 LIS 的一部分的贡献,于是可以计算出我们需要哪些点做贡献,最后根据题意构造即可。 -
P8366 [LNOI2022] 题
暴力大DP
暴力记录所有没有拼完的数分别有多少,写一个七维 DP 即可。
,注意剪枝。
\(\texttt{11.12 Day -17}\)
今天有点摆,可能是因为没有具体的计划表,因此稍花了点时间整理了一下要做的题。
顺便确定了 NOIP 的目标,我想了一下,按 2022NOIP 的难度来算,我只需要能写出绿到蓝的题再骗骗分就有 200+ 了。因此接下来的训练重心转移到绿蓝题,具体的说,把专题题单和综合题题单中的绿蓝题全写了,预计要两到三天。比赛补题仍挂在任务列表,应抓紧落实。
-
P4223 期望逆序对
单独计算贡献+DP+矩阵加速+分讨
新trick,考虑原排列的每一对数对答案产生的贡献,分类讨论出该数对随机交换后不同相对位置的方案数及贡献。情况数较多,值得仔细研究。 -
[ARC176D] Swap Permutation
单独计算贡献+DP+矩阵加速+分讨
与上题类似,贡献的值有所不同,但仍是同样随机交换的套路。 -
P10254 口吃
转化+DP+前缀和优化
难点在于如何将 \(ia_i\) 和逆序对扯上关系,针对 \(a_i\) 与其他数的大小关系进行转换,然后 DP+前缀和优化 即可。
\(\texttt{11.13 Day -16}\)
经过计划的调整,写题节奏回到了正常的水平。可惜晚上要运动会开幕式,晚上没有时间写题了。总的来说,上午的效率比下午的效率高很多,可以促进。按照目前的速度,完成任务还要 \(3\) 天。比赛补题仍挂在任务列表,应抓紧落实。
- P3957 [NOIP2017 普及组] 跳房子
二分+DP+单调队列优化
注意到代价越高,越有可能取得更高的分数,因此满足单调性,可以二分。问题转化为经典的单调队列优化DP。 - [ABC280F] Pay or Receive
图论性质
发现一条边的反边权值为相反数。题目要求不能有负环,等价与图中只能有零环。于是要么连通块不合法,要么两点距离恒相等。dfs判定即可。 - P8320 『JROI-4』Sunset
二分+交互
发现最大值覆盖之后所有信息,二分枚举最大值。 - P9127 [USACO23FEB] Equal Sum Subarrays G
排序+改变计算答案的方式
与其考虑一个数能更新哪些区间,不如考虑一对区间能更新哪些数。排序后将相邻的区间暴力更新答案。不相邻的区间一定不会更优。 - P8207 [THUPC2022 初赛] 最小公倍树
最小生成树+数学
发现具有更多公因子的边更优,枚举因子建图,跑kruskal - P8251 [NOI Online 2022 提高组] 丹钓战
倍增+单调栈
这题我想偏了,考虑一个数被挤出去的条件,倍增加速即可。 - Permutation
DP+前缀和优化
新trick!由于只考虑数之间的大小关系,dp时每填一个就把大于k的数+1,避免重复计数。 - [ABC282G] Similar Permutation
DP+前缀和优化
与上题类似,只不过同时考虑两个排列,状态设计与上题套路类似。 - P3138 [USACO16FEB] Load Balancing S
前缀和+枚举+离散化
离散化后照题意模拟即可。 - P2680 [NOIP2015 提高组] 运输计划
二分+树上差分
关键在于让最长的路径最短,考虑二分,去除最长公共边后是否能满足条件。 - P1650 田忌赛马
贪心
奇怪的性质,考虑让田忌的马能赢就赢,不能赢就平局,其次判负。具体实现上有许多值得讨论的细节,有空可以回来看看。 - P9305 「DTOI-5」校门外的枯树
二分+预处理
将边权和按DFS序预计算,对每个子树二分求解即可 - P2254 [NOI2005] 瑰丽华尔兹
DP+单调队列优化
关键在于不能以时间为阶段,而是以时间段为阶段。于是单调队列优化DP即可。
\(\texttt{11.14 Day -15}\)
摆上天了!!可能是因为前一天没睡好,但总之效率几乎为零。做好状态的调整,尽快恢复正常的刷题节奏。距离完成任务还要 \(3\) 天(工作日)。比赛补题仍挂在任务列表,应抓紧落实。
- P6175 无向图的最小环问题
Floyd
每次尝试把点加入集合,考虑经过该点产生的环。 - P5304 [GXOI/GZOI2019] 旅行者
最短路+二进制分组
人类智慧,每次跑Dij可以求出两个集合之间的最短路,于是考虑把点按二进制分组,最短的最短路的两个端点二进制下一定至少有一位不同。 - P1441 砝码称重
状压+搜索+DP
暴力枚举所有物品组合分别DP即可。 - P2656 采蘑菇
强连通分量+DP/最长路
每个SCC中的都可以经过任意次多次,而连接SCC间的边最多经过一次。缩点跑DAG上DP或把图建出来跑最长路。特别注意,dij不能跑最长路,只能用SPFA或Bellman-Ford。
\(\texttt{11.15 Day -14}\)
上午效率较高,下午效率不佳,晚上打了一场阳间 CF ,被第三题卡了半天。效率不佳可能与中午睡糊涂了有关,应尽量压缩或调整中午睡眠时间。时间不多了,必须要抓紧时间,距离完成任务还要 \(2.5\) 天(工作日)。考虑到应试能力不佳,有必要单独花时间训练。比赛补题仍挂在任务列表,应抓紧落实,暂定于下一星期。
抓紧时间!!!
- P9017 [USACO23JAN] Lights Off G
状压DP+贡献提前计算
异或满足交换律,可以提前计算初始状态以及修改对序列的影响,预处理初始状态及修改在不同次数下的贡献,状压DP即可 - P5664 [CSP-S2019] Emiya 家今天的饭
容斥+DP
注意到题目要求不能超过一半,考虑容斥计算超过一半的所有方案。由于超过一半的列至多有一个,分别钦定超过一半的列进行DP即可。 - P5017 [NOIP2018 普及组] 摆渡车
DP+剪枝+斜率优化
从最暴力的DP开始优化,剪去无用的转移。值得注意的是,在同一复杂度下,设计的DP为1D1D与2D0D的优化难度不同。通常来说,前者可优化到 \(O(nlogn)\) 级别。 - P2467 [SDOI2010] 地精部落
DP+处理排列
与Permutation套路类似,只关心相邻数之间的大小关系,dp时每填一个就把大于k的数 \(+1\) 即可。 - P6647 [CCC2019] Tourism
DP+剪枝+数据结构优化
很怪的题,题目的条件非常严格,进一步的条件对于每一天都应满足,因此原有暴力 \(O(n^2)\) 的DP有很多无用状态,剪去无用状态后只有 \(O(n)\) 量级。考虑对剪枝后的状态重新设计转移,发现原序列被分为若干段分别转移,因此分段后缀max可以做到 \(O(n)\) 。 - P3205 [HNOI2010] 合唱队
区间DP
对左右情况进行讨论,区间DP即可。 - P1155 [NOIP2008 提高组] 双栈排序
图论建模+二分图+模拟
有意思的题,先通过判定能否一个栈内的条件,考虑分成两个序列分别满足条件,在矛盾的数间连一条边,进而转化为二分图判定。按字典序分类后,模拟处理两个栈的处理即可。 - P3573 [POI2014] RAJ-Rally
归纳法(递推)+分类讨论
考虑按 \(topo\) 序依次讨论删点的情况,从删点i的情况推到删点 \(i+1\) 的情况。于是对于每个点为起点/终点的最长路分讨,用数据结构维护最大值即可。值得再次回顾。 - P3403 跳楼机
背包DP+同余最短路
从完全背包出发,发现在 \(i\) 成立时 \(i+x\) 也成立,因此绝大多数 \(dp_i\) 以 x 为循环节。考虑计算最小的 \(i\) 使 \(dp_i\) 成立且 \(dp_{i-1}\) 不成立,于是在 mod x 意义下跑同余最短路求解。 - P2371 [国家集训队] 墨墨的等式
背包DP+同余最短路
上题的加强版,套路类似。 - P7771 【模板】欧拉路径
欧拉路径+dfs+当前弧优化
\(\texttt{11.16 Day -13}\)
周末放假,休息+比赛,效率略低。下午打了洛谷的月赛以及ABC。下午的比赛一直在聊天,发挥不是很好。ABC搜素写挂,喜提rk 1k 。比赛补题仍挂在任务列表,应抓紧落实,暂定于下一星期。抓紧时间啊!
- P3430 [POI2005] DWU-Double-row
图论
通过连边表示一对元素所在列的关系,转化为图黑白染色问题。 - P4316 绿豆蛙的归宿
DP+期望
期望DP板题,主要在于DP要倒着做,以保证概率总和为 1 。 - P11279 「GFOI Round 2」Abstract String Basic
枚举 - P11280 「GFOI Round 2」Jom & Terry
博弈
诈骗题,对手只需要跑到终点蹲着就行。 - P11281 「GFOI Round 2」Aob & Blice
数学+DP
注意到A的待选集合一定全等价于B的待选集合。分析性质发现数对的等价置换大小为二。即计数排列满足其自逆排列为自身。由于未填的位置可以独立考虑,于是DP求解即可。 - ABC的题懒得记了
\(\texttt{11.17 Day -12}\)
周天打了两场比赛,早上T1想错了怒挂40pts,下午状态不佳。任务列表剩下约35题,尽量在两天之内完成。
- P1287 盒子与球
数学 - P1134 [USACO3.2] 阶乘问题
数学 - P1372 又是毕业季I
数学 - P5431 【模板】模意义下的乘法逆元 2
数学 - P1965 [NOIP2013 提高组] 转圈游戏
数学 - P1835 素数密度
数学 - P11290 【MX-S6-T2】「KDOI-11」飞船
DP+剪枝
速度一定不会超过移动距离,于是考虑记录当前位置及速度进行DP,状态数不超过 \(O(nlog^2V)\) - P11289 【MX-S6-T1】「KDOI-11」打印
模拟
\(\texttt{11.18 Day -11}\)
总体来说,今天的效率还行。但仍可以提高,分心及刷QQ的时间较多。白天的效率基本达到预期,晚自习效率和智商双双掉线,明天要尽力改善。任务列表剩下约idk题,明天必须全部完成。接下来将进入比赛模拟+补题为主的训练。抓紧时间!
- P4180 [BJWC2010] 严格次小生成树
最小生成树+树剖+线段树+LCA
考虑严格次小生成树与最小生成树只有一条边的差距,把这条边加入树中然后在环上删去最大值,若该边权值与环上最大值相同则删去次大值。用树剖+线段树维护链上最大值和次大值即可。 - P5633 最小度限制生成树
最小生成树+wqs二分
显然,点的度数越大或越小都可能变得不优,考虑wqs二分,给限制的边带权即可,细节较多。 - P2155 [SDOI2008] 沙拉公主的困惑
数学
新trick!小等于 \(x\) 的数中与 \(y\) 互质的数的个数为 \(\frac{x\varphi(y)}{y}\) ,证明略。 - P3912 素数个数
数学+筛法 - P2606 [ZJOI2010] 排列计数
数学+计数
原排列形成了一个完全二叉堆,DP递归求解即可。 - P6583 回首过去
数学+容斥
考虑对分母和分子分类讨论,统计含1/2/5/10的数的个数,进行整除分块。 - P6026 餐馆
数学+打表
人类智慧,打表可以发现非常简洁的规律,启示我打表可以用分数类找规律。 - P3252 [JLOI2012] 树
枚举 - P5536 【XR-3】核心城市
拓扑排序
从叶节点向内拓扑排序,显然对于同一标距的必须全部选上才能达到该答案。 - P6162 [Cnoi2020] 四角链
数学
在所填的数字与其下标间连一条边,可以发现其形成若干条链,即问题转化为求集合划分数。 - P5836 [USACO19DEC] Milk Visits S
并查集/树上前缀和 - P1351 [NOIP2014 提高组] 联合权值
计数+分类讨论 - P6591 [YsOI2020] 植树
换根DP - PT07Z - Longest path in a tree
树的直径 - P10447 最短 Hamilton 路径
状压DP - P1433 吃奶酪
状压DP
\(\texttt{11.19 Day -10}\)
今天是任务计划的最后一天,任务列表仍未完成,明早补齐。接下来应进行过去比赛的补题,预期速度在一天三到四场。今天效率早上时最佳,下午逐渐下滑,晚自习效率依旧不高,抓紧时间改进。
- P5851 [USACO19DEC] Greedy Pie Eaters P
区间DP
考虑一个奶牛只吃一个派不会影响答案,于是考虑合并区间的时候中间夹一个没用的派取最大价值区间。 - P7914 [CSP-S 2021] 括号序列
分讨+区间DP
分类讨论区间内串的状态,尝试合并时避免*的合并,分讨DP即可。 - 巴比伦塔 The Tower of Babylon
DP
长方体之间产生了偏序关系,并且不存在环,于是相当于在DAG上DP。 - P7706 「Wdsr-2.7」文文的摄影布置
线段树
考虑维护区间答案并合并,进一步考虑合并答案需要的其他信息,分类讨论区间贡献答案的方式及所需信息,按方程及顺序更新。 - P2827 [NOIP2016 提高组] 蚯蚓
关键在于把优先队列优化为有序队列,注意到切出来的蚯蚓分别单调不减,开三个队列维护。 - P5677 [GZOI2017] 配对统计
树状数组
理解错题意了啊啊啊啊,把题目要求的配对求出来,问题变为区间查区间内区间数量,发现二维偏序不好维护,离线询问,排序解决一维偏序,另一维靠树状数组。 - P1070 [NOIP2009 普及组] 道路游戏
DP+前缀和
方程不难列出,把收益数组复制一份断环为链,收益用对角前缀和。 - P5022 [NOIP2018 提高组] 旅行
枚举
没看到m=n/n-1擦擦擦,树的情况直接按编号优先级dfs遍历,基环树考虑断环枚举即可。 - P2279 [HNOI2003] 消防局的设立
贪心
一个点没被覆盖,在他父亲的父亲那放点一定不劣,于是枚举没被覆盖且深度最大的点处理。技巧:标记时可以把祖先标上“势”,因为兄弟间覆盖一定经过祖先,于是判定是否覆盖和标记只需要查询祖先。 - P6190 [NOI Online #1 入门组] 魔法
矩乘优化+最短路
因为有负权边,考虑跑 Bellman-Fold ,使用广义矩乘 \(G\) :每乘一次相当于用一条边来松弛,最短路最多n-1条边, \(G^{n-1}\) 相当于跑了一次BF,原路径一定是 最短路-负边-最短路-负边... ,考虑把 \(G\) 取反 \(K\) 因为只能用 k 次,即计算 \(G^{n-1}(G^{n-1}K)^k\)。 - P8865 [NOIP2022] 种花
前缀和 - P3177 [HAOI2015] 树上染色
树形DP+背包
考虑一条边能被覆盖多少次,问题转化为背包合并时内外各颜色不同数量之积。
\(\texttt{11.20 Day -9}\)
呃。休息了一天,把周末 GXCPC 要带的板子整理了一下。从明天开始进入补题。
怎么还不发钩子!这都鸽了三天了/fn
- P5021 [NOIP2018 提高组] 赛道修建
二分+贪心
二分最短链长度,dfs时贪心的将各子树的链拼到一起,用mutiset维护。 - P7073 [CSP-J2020] 表达式
性质/倍增+模拟
没想到分析性质,考虑倍增。计算当 \(x\) 节点变为 0/1 时他的 \(2^k\) 级祖先如何变化。倍增到根即可。
\(\texttt{11.21 Day -8}\)
早上补了一场比赛的题,速度和效率有点低。下午正式进入GXCPC备战,好吧,就是组队打了一场CF。晚上被叫去打水赛,几乎什么也没干。进度远远未达到预期,抓紧时间!
\(\texttt{11.22~23 Day -7~-6}\)
\(GXCPC\) 启动!
详见 TZYLT's GXCPC 游记。
\(\texttt{11.24 Day -5}\)
早上打了mx的模拟赛,第一题比第二题还难,最后第一题挂了50分,总共让wj爆了35.9金币。下午lg的信心赛,题确实简单,上来两个小时不到切了T1T2。晚上去找 \(\texttt{Jeslan}\) 聊天,摆烂了。
\(\texttt{11.25 Day -4}\)
摆烂。当时忘记写了,现在记不得了qwq
\(\texttt{11.26 Day -3}\)
早上打了两场模拟赛,xyd的难度简直是NOIplus,mx的还好(我太菜了555)。下午分析了一下一等分数线,接着写了一点题。晚上的时候终于发钩子了,蓝钩到账!
- P10463 Interval GCD
线段树+GCD
考虑把原数列差分,显然差分后的数组GCD情况基本不变。于是单点修区间查不难实现。 - P5019 [NOIP2018 提高组] 铺设道路
差分
考虑差分时为正的值在原数列上为向左面。 - P3958 [NOIP2017 提高组] 奶酪
模拟+并查集 - P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目
数学 - P5018 [NOIP2018 普及组] 对称二叉树
哈希 - P10480 可达性统计
topo+bitset优化 - P2416 泡芙
边双+LCA
缩点之后变为一颗树,树上前缀和即可。
\(\texttt{11.27 Day -2}\)
早上完整的打了一场云斗的模拟赛,难度和2023年的相当(个人认为)。最后拿了 100+90+50+15=265 ,第二题数据较水(也许是没卡到我错的地方),我判断区间左右打反了几乎过了所有的数据。当然,NOIP时应该避免此类事情发生。
下午以及晚上写了历年来的打卡题,总体来说状态良好。
- P7113 [NOIP2020] 排水系统
高精度+模拟 - P9869 [NOIP2023] 三值逻辑
并查集(?)+bfs
好题,可惜去年的我不会写。把初始值和最终值分开来讨论,维护一个变量的最终值由谁的初始值决定,由于状态间有传递性,最后在图上连上相同/相反的边,bfs判定是否自洽。若出现矛盾则整个连通块全为U。 - P3952 [NOIP2017 提高组] 时间复杂度
模拟 - P7960 [NOIP2021] 报数
筛法
\(\texttt{11.28 Day -1}\)
最后一天了,今天下午准备回家。希望 NOIP 前一天晚上能睡个好觉。简单复习了一下各类板子,感觉良好,考虑到 NOIP 可能会出 ad-hoc ,简单看了一下这类的题目。下午回家摆烂,玩了一下午手机,晚上开 NOILinux 简单试了一下环境,学了些 bash 的用法。现在我也会用脚本和调试器了。明天就出发了,睡个好觉,Good Night.
- 我不想记也没题可记了。
\(\texttt{11.29 Day 0}\)
该出发了,故事结束了。
完工于 \(\texttt{2024.11.29}\)
\(\texttt{TZYLT}\)
\(感谢你读到这里\)

浙公网安备 33010602011771号