Loading

金库计划 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)\)

问题分析解决

第二次卷王会议纪要

比赛策略方面,依然是需要多个时刻做好评估。

写在前面,当你一定需要通过某个题的时候,在怎么的死磕都是必要的。


  1. 评估自己在全国的排位,大概知道全国会某些特定的分的选手的数量。

  2. 每一段完整的时间后进行一次评估。举例:在写完一段代码运行后发现假了;通过了一个题;一个题想了指定时间后每思路或思路假了。

  3. 如何评估:

  • 对于一档分需要评估两点:期望做出的概率(以及时间)和做不出造成的期望风险。期望收益与风险需要结合全局看。

  • 对于多个题的抉择方面:优先考虑做出后区分度最大的东西,优先的一定是最稳拿分的东西。但是如果稳定拿了分也没有用还是要考虑拼区分度更大的分。

  1. 阈值法:对于会或者很可能会的多个分,在按照优先级排序后,需要给后面的部分设置一个阈值。不能让前面做太久,以免失一些不必要的简单分数。

extra:我现在有个习惯都是开局先打所有暴力再冲正解,需要和上述方法结合辨证性看待。合理运用注释,想清楚自己在写什么,变量名代表啥。


关于平时训练方面。
0. 别天天做数学题了,自己也知道零个用处。解决方案:除了中午吃晚饭到下午开始的时段允许在 307 看或做一些数学题,其他时刻禁止主动做

  1. 做题心态:平常想题浮躁和着急是大忌。举例:自己找题做的时候频繁因为想不出来,急,然后频繁的看题解或者跳过。因为正赛一场总共就三个题,有效题大部分只有俩,正赛每题给你挑。
    解决方案:番茄时钟法,每隔十五分钟评估以下当前自己的状态。如果处于一段完整的时间(做正确的事情),例如码题啥的那就一直做下去就是了。
    评估发现一般的不对劲可以尝试喝饮料,吃小零食来调节。
    如果发现更加不对劲可以尝试出去走一走散散心,或者和机房/网络上的朋友聊聊天啥的。

  2. 题目选择方面:在思考一个题的过程中,要多关注自己思维链从那里断的(和题解的前若干个不同想法的地方),针对这个进行总结。
    现阶段还是要多进行一些小“专题”训练,杂题训练太过漫无目的了。针对自己薄弱项尝试找相关难度适合的题专门训练,效果会很显著。
    多多思考一些算法的优化本质和应用场景。

\(\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}}\)dpbitset
思路分析:首先发现可以把一些柱子放在右侧形成一个递减序列,从而使这些柱子对答案没有贡献。

考虑每个柱子可以接到多少雨,第 \(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]}\)

停更备战期中考。

小记

  1. 学习具有计划性是极其重要的。自己一直做的是总结过去,却几乎没有做计划未来。做好计划能让一天充实,不至于觉得啥该做的都没做。

  2. 观看网文花费 \(15r+15r\),关键是是同一本小说,只是第一次买了个只有一半的版本。去学校小卖部买一整箱饮料被坑至少 \(1\times 15=15r\)。给家里小朋友买生日礼物被裹挟了 \(360r\)。总计浪费了 \(390r\),快要把我梦熊挣的花完了。
    在花钱前还是要三思,在不必要的情况下尽量想想价格是否合理,不要被无良商家欺骗。

  3. 对于不熟悉的知识,需要再较短的时间段内多次重复,加深记忆。

问题总结

  • 题目难度只是一个虚荣的壳,可以丢。

  • 之后的内容应该更侧重于总结,总结和题目半独立。起到的作用是总结一些过程,和题解中的发现和可以让自己通过一点记录顺利还原思路。
    可以适当忽略一些繁琐的,给读者的细节,只需要自己看得懂。
    但不是所有题目都会这样干,只有觉得比较能够通用的时候才会收纳。(学长:但是很多总结在没有见到很明显的题目前是没有在里面的)

  • 多做国内题,勤订正,勤总结。

posted @ 2025-04-01 15:12  HaHeHyt  阅读(260)  评论(0)    收藏  举报