金库计划 6
我们将难度分为 \(5\) 个等级:
\(\color{grey}\bigstar\) 简单题,模板题或者难度为省选 \(\sf{D1T1}^{-}\) 的题目。
\(\color{green}\bigstar\) 签到题,难度近似于省选 \({\sf{D1T1}^{+}}\sim {\sf{D2T1}}\) 的题目。
\(\color{blue}\bigstar\) 中等题,难度近似于省选 \({\sf{D2T1}^{+}}\sim \sf{D(1/2)T2}\) 的题目。
\(\color{#F1C40F}\bigstar\) 困难题,难度近似于省选 \({\sf{D2T2}^{+}}\sim \sf{D(1/2)T3}\) 的题目。
\(\color{red}\bigstar\) zak 题,远超省选水平的题,做这种题可以开拓视野,启迪思维。
题目后面会写一点评价与感悟。
\(\boldsymbol{[2025/04/01]}\)
金库
\(\color{blue}\bigstar\) qoj 9532。\(\color{Magenta}{\text{tag}}\):堆,并查集。
思路分析:发现有一个很显然的二分答案做法,我们先二分答案 \(X\),然后把 \(i\) 点的权值变成 \(w_i - X\),就是检验是否存在以这个点为根的权值和 \(\geq 0\) 的连通块了。这个问题是有一个很显然的贪心的:\(f_i\) 表示以 \(i\) 为根的答案,那么就有 \(f_i = w_i - X + \sum_{y \in \text{son}(i)} \max(f_y, 0)\),可以认为是它只选择那些 \(> 0\) 的儿子。
但是发现二分没有前途,所以我们考虑对于 \(X\) 进行扫描,直接从大到小,那么所有点的权值也都从 \(w_i - X\) 开始从小往大增大。
如果我们能在这个过程中动态维护所有的 \(f_i\),那么我们就只需要关注每一个 \(f_i\) 变成 \(0\) 的时刻的 \(X\) 即可。
而对于一个 \(f_i\),其变成 \(0\) 之后,随着 \(X\) 的增大,其必然一直保持 \(f_i > 0\),那么在其父亲的决策中就必然会选择这个点。那么我们就可以让其和其父亲所在的连通块合并。
那么我们需要合并树上的两个连通块,以及查询当前所有 \(< 0\) 的 \(f_i\) 中最早变成 \(0\) 的 \(f_i\)(也就是找最小的 \(\frac{f_i}{w_i}\))。发现可以直接使用并查集和可删堆分别处理,时间复杂度 \(O(n \log n)\)。
问题分析解决
第二次卷王会议纪要
比赛策略方面,依然是需要多个时刻做好评估。
写在前面,当你一定需要通过某个题的时候,在怎么的死磕都是必要的。
-
评估自己在全国的排位,大概知道全国会某些特定的分的选手的数量。
-
每一段完整的时间后进行一次评估。举例:在写完一段代码运行后发现假了;通过了一个题;一个题想了指定时间后每思路或思路假了。
-
如何评估:
-
对于一档分需要评估两点:期望做出的概率(以及时间)和做不出造成的期望风险。期望收益与风险需要结合全局看。
-
对于多个题的抉择方面:优先考虑做出后区分度最大的东西,优先做的一定是最稳拿分的东西。但是如果稳定拿了分也没有用还是要考虑拼区分度更大的分。
- 阈值法:对于会或者很可能会的多个分,在按照优先级排序后,需要给后面的部分设置一个阈值。不能让前面做太久,以免失一些不必要的简单分数。
extra:我现在有个习惯都是开局先打所有暴力再冲正解,需要和上述方法结合辨证性看待。合理运用注释,想清楚自己在写什么,变量名代表啥。
关于平时训练方面。
0. 别天天做数学题了,自己也知道零个用处。解决方案:除了中午吃晚饭到下午开始的时段允许在 307 看或做一些数学题,其他时刻禁止主动做。
-
做题心态:平常想题浮躁和着急是大忌。举例:自己找题做的时候频繁因为想不出来,急,然后频繁的看题解或者跳过。因为正赛一场总共就三个题,有效题大部分只有俩,正赛每题给你挑。
解决方案:番茄时钟法,每隔十五分钟评估以下当前自己的状态。如果处于一段完整的时间(做正确的事情),例如码题啥的那就一直做下去就是了。
评估发现一般的不对劲可以尝试喝饮料,吃小零食来调节。
如果发现更加不对劲可以尝试出去走一走散散心,或者和机房/网络上的朋友聊聊天啥的。 -
题目选择方面:在思考一个题的过程中,要多关注自己思维链从那里断的(和题解的前若干个不同想法的地方),针对这个进行总结。
现阶段还是要多进行一些小“专题”训练,杂题训练太过漫无目的了。针对自己薄弱项尝试找相关难度适合的题专门训练,效果会很显著。
多多思考一些算法的优化本质和应用场景。
\(\boldsymbol{[2025/04/02]}\)
打了 2025 -- 苍穹计划 -- NOI排位赛 #7,\(100+15+100=215\),rk.13
金库
问题分析解决
-
换环境训练(多重意义下的环境)
-
每天没有很有思路的题的时候,可以看看最近一周自己吸收不是很完全的题目,再次巩固复习。
\(\boldsymbol{[2025/04/03]}\)
睡一天。
金库
问题分析解决
\(\boldsymbol{[2025/04/04]}\)
金库
\(\color{blue}\bigstar\) P6345。\(\color{Magenta}{\text{tag}}\):dp,bitset。
思路分析:首先发现可以把一些柱子放在右侧形成一个递减序列,从而使这些柱子对答案没有贡献。
考虑每个柱子可以接到多少雨,第 \(i\) 根柱子,这根柱子上方的接到雨量为 \(\min\{\max_{j=0}^{i} h_j, \max_{j=i}^{n} h_j\}\)。
因为每根柱子都可以插入在任意两根柱子中间 (如果第 \(i\) 根柱子要插入的柱子左右两边已经有更高的柱子,就用这个柱子替换掉那根柱子,这样对于答案的变化量是相同的,所以不影响最终答案) 所以第 \(i\) 根柱子可能接到雨量为 \(\{h_j - h_i | h_j > h_i, j \in [1, n]\} \cup \{0\}\),然后枚举柱子进行背包转移就可以了,这种做法是 \(O(n^2 \times v^2)\) 的。
写出后发现转移式子中有一步是一个序列或上另一个序列左移 \(x\) 位,可以 bitset 优化,于是最终复杂度为 \(O(\frac{n^2 \times v^2}{w})\)。
问题分析解决
\(\boldsymbol{[2025/04/05]}\)
打了 2025 -- 苍穹计划 -- NOI排位赛 #8,\(100+100+0=200\),rk.4
金库
\(\color{blue}\bigstar\) P11665。\(\color{Magenta}{\text{tag}}\):状压 dp。
思路分析:注意到如果转化成最小化最长反链,这个最小最大是不好处理的,于是我们只能处理最小最小链覆盖。
注意点末尾互不相同,于是状态数 \(2^V\),能朴素设计一个 dp \(f_{i,S}\) 表示到 \(i\) 状态为 \(S\) 是否可行。
这里我们注意到 dp 值都是 \(0/1\),发现我们一定浪费了很多信息。
于是注意到对于每个 \(f_{*,S}\),只有 \(*\) 最大的那个 \(1\) 值是有用的,其他一定不优。
于是设计 dp,\(F_S\) 表示 \(f_{x,S}=1\) 的最大 \(x\)。
朴素转移是对于 \(S\) 增加 \(f_{S+1/2}\) 转移到对应位置,但是转移可能有许多自环,这时候需要做个平推,预处理一下加速这个平推过程即可。
复杂度 \(O(nV+V^22^V)\),实现细节可以自己思考一下。
问题分析解决
\(\boldsymbol{[2025/04/07\sim 2025/04/24]}\)
停更备战期中考。
小记
-
学习具有计划性是极其重要的。自己一直做的是总结过去,却几乎没有做计划未来。做好计划能让一天充实,不至于觉得啥该做的都没做。
-
观看网文花费 \(15r+15r\),关键是是同一本小说,只是第一次买了个只有一半的版本。去学校小卖部买一整箱饮料被坑至少 \(1\times 15=15r\)。给家里小朋友买生日礼物被裹挟了 \(360r\)。总计浪费了 \(390r\),快要把我梦熊挣的花完了。
在花钱前还是要三思,在不必要的情况下尽量想想价格是否合理,不要被无良商家欺骗。 -
对于不熟悉的知识,需要再较短的时间段内多次重复,加深记忆。
问题总结
-
题目难度只是一个虚荣的壳,可以丢。
-
之后的内容应该更侧重于总结,总结和题目半独立。起到的作用是总结一些过程,和题解中的发现和可以让自己通过一点记录顺利还原思路。
可以适当忽略一些繁琐的,给读者的细节,只需要自己看得懂。
但不是所有题目都会这样干,只有觉得比较能够通用的时候才会收纳。(学长:但是很多总结在没有见到很明显的题目前是没有在里面的) -
多做国内题,勤订正,勤总结。

浙公网安备 33010602011771号