Loading

金库计划 5

我们将难度分为 \(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/03/05]}\)

金库

\(\color{green}\bigstar\) qoj 9770\(\color{Magenta}{\text{tag}}\):构造。
思路分析:分析 \(k\) 次操作能得到的点集,发现 \(S_k = \left\{\left(\frac{Ax}{2^k}, \frac{By}{2^k}\right) \mid 0 \le x, y \le 2^k \right\}\)
对比 \(S_{k-1}\),因此发现每次操作能钦定一个端点为初始矩形的四个端点上,从终点倒退即可。

问题分析解决

罗列一下近期需要解决的问题。

  1. 趁现在 oi 不需要卷那么多,应该多思考一下卷的目的以及方法,不能盲目跟着别人或者机构做题,收获小太多了。

  2. 分析 D1T3 只拿到 8pts 的原因,目标是至少要做到会树,会 \(O(n^2)\)

  3. 调出 D2T1 并分析为什么这种简单题没有场切。

  4. Doqe 聊一下 oiwhk 的学习上的瓶颈,借鉴一点优秀的成功经验。

  5. /ww 队提交一份自己这个赛季出现的问题反思,以及将来的解决办法。

\(\boldsymbol{[2025/03/06]}\)

金库

\(\color{green}\bigstar\) qoj 9774\(\color{Magenta}{\text{tag}}\):哈希,线段树,树状数组。
思路分析:设相同的和为 \(s\),发现条件等价于区间集合 \(S=\{s-x\mid x\in S\}\)。维护集合相等就考虑哈希。
考虑 \(s_1=\sum\limits_{x\in [l,r]}g^{a_x}\)\(s_2=\sum\limits_{x\in [l,r]}g^{-a_x}\),令 \(m\) 表示区间平均数,则 \(s_1=g^{2m}s_2\),直接判断即可。正确率很感人的。

\(\color{blue}\bigstar\) P11831\(\color{Magenta}{\text{tag}}\)bitset
思路分析:看到诸如 6e48e4 的部分分就很想乱搞多拿点分,这题乱搞要注重减少枚举的答案数量。
显然当 \(r-l\)可达点个数少的时候可以直接暴力枚举。否则从后往前扫 \(b\) 的值判断是否满足,这时候感性理解一下扫描次数可能不会很多,并且内存极度连续。卡不满足够通过。

问题分析解决

  • 或许要对算法坑做一个总结?看看自己到底有哪些缺漏。

  • 经过和 /ww 队的深刻交流,发现缺少对于算法本质优化的理解,思维上的跳步和怠惰、以及得过且过的思想导致了很少思考对于优化实质的理解。每一题都必须参考今天第一题的思路分析那样写,写明自己的思维链。

  • 需要意识到自己做再多题都是没有用的,于是自己需要留下逻辑思维上的提升过程,姑且把这个当做训练目的。

\(\boldsymbol{[2025/03/07]}\)

金库

写了 D1T3 树的部分分,但是还没有完全理解。

问题分析解决

放低姿态和心态,就当自己没进队很菜了,打比赛能有更好的心态。

\(\boldsymbol{[2025/03/08]}\)

金库

打了 abc396

问题分析解决

发现自己和其他选手的差距在于“有些东西没理解清楚”而非卷得不够多。

要要争取找大模型大知识上多一点东西的题,然后慢慢把常见的小技巧规约为推出来的东西,把思路展开清楚,避免引用题目,引用模型。

把心态放平,解决自己的问题,不需要关注别人的差距。

你的思路变清晰,就会反应在你在思考题目的时候减少了多余的思考,做题不那么费神。

\(\boldsymbol{[2025/03/09]}\)

金库

\(\color{green}\bigstar\) P11822\(\color{Magenta}{\text{tag}}\):贪心,二分,记忆化。
思路分析:考虑看成区间往前跳。首先有个很显然的 \(O(n^2\log n)\) 做法,对每个 \(k\) 贪心二分找满足条件的最近左端点,然后不断贪心跳下去,一定是字典序最大解。
这东西卡不满于是有 \(\rm{85pts}\)。考虑优化,注意到在当前端点以及上一个端点一定时之后的决策都是一定的。于是考虑记忆化部分决策,但是记忆化太多 umap 的时间又会坠机。
于是我们考虑记忆化距离 \(r-l\le 23\) 的相邻端点即可通过。此外还有其他很多记忆化方法均能通过,还是比较松的。

问题分析解决

  • 发现自己潜意识里面并没有重视对规划的思考,导致思考的并不多,很有鼠目寸光的感觉。

  • 明确了一下有明确思考时间的是午饭后和晚上放学后的一段时间,然后钦定自己需要写一些手帐记录自己的思考。

\(\boldsymbol{[2025/03/10]}\)

金库

\(\color{green}\bigstar\) P3791\(\color{Magenta}{\text{tag}}\):整除分块,二进制,记忆化。
思路分析:显然 \([0,n)\ \text{xor}\ [0,m)\) 能拆分为 \(\log n\log m\) 个区间,然后剩下的贡献是 \(d(n)\) 前缀和的形式,\(\sum\limits_{i\le n} d(i)=\sum\limits_{i\le n}\lfloor n/i\rfloor\),整除分块计算即可。但是注意到只需要计算本质不同的 \(\log n+\log m\)\(\sum d(i)\),于是记忆化一下即可,复杂度 \(O(\sqrt n\log n)\)

问题分析解决

在开新题之前停下来思考一下做题优先级,以及开这题是否在当前是必要的。

\(\boldsymbol{[2025/03/11]}\)

金库

\(\color{blue}\bigstar\) URAL-1667\(\color{Magenta}{\text{tag}}\):数学,构造。
思路分析:考虑缩小问题规模,发现只需构造 \(\sum a_i^2,\sum b_i^2\) 为完方,然后 \(c_{i,j}=(a_ib_j)^2\) 即可。

观察到解其实比较稠密(其实是我确定性构造都爆 \(10^{17}\) 的界了),于是我们感性得说明随机构造是对的。

随机构造形如:前 \(n-1\) 个在 \([1,400]\) 内随机成各不相同,最后一个数在 \([1,400]\) 内枚举。然后若不合法就一直随一直随。

感性说明正确性

就你随机前 \(n-1\) 个数,然后是 \(s+p^2=q^2\) 的形式。

注意到只要 \(s\not\equiv 3\pmod 4\) 就有解,然后 \(s\) 能稍微分解一下质因数就能让 \(p\) 很小,所以这个方程有解的概率挺大。


但是还有 \(a_ib_j\) 互不相同的限制,这个东西你跑一下发现也是常数级别,最坏大概几千次左右就能出。

\(\color{green}\bigstar\) P11833\(\color{Magenta}{\text{tag}}\):贪心。
思路分析:请查看题解。

问题分析解决

Doqe 要求,再次从算法角度审视一遍自己,补齐省选/NOI级别的算法。

\(\boldsymbol{[2025/03/12]}\)

金库

\(\color{blue}\bigstar\) P11845\(\color{Magenta}{\text{tag}}\):二分,思维。
思路分析:这东西很容易想到二分答案然后考虑 \(01\)。对于 \(01\) 串,肯定是考虑贪心消 \(0\),按照这个贪心摸一些情况或者打表,注意到少量的 \(1\) 就能导致结果为 \(1\) 了。

经过一些分讨和观察,注意到若串长 \(\ge 7\),则长奇数取最大值,长偶数取次大值(因为最后一次是取 \(\min\))。

剩下的小串,对于 \(01\) 串暴力预处理出所有可能,然后对于所有 \(\le 6\) 的串,从大往小扫判断生成 \(01\) 串是否可行即可。

问题分析解决

提效率,提水平。翻翻自己的 todo list,尽量一件一件给自己清掉。

\(\boldsymbol{[2025/03/13]}\)

打了 苍穹计划 -- NOI排位赛 #1\(0+100+0=100\)rk.26

太摆烂了!

金库

问题分析解决

  • 对于提升效率方面,最初可以先从做简单题开始,越打越顺。慢慢磨练出自己不急不躁的心态。

  • 关于提升水平方面,偏重国内题发展,看看自己薄弱的算法,薄弱部分还是需要批量做题的。选择的题目类型可以从谢队记录中感受一下。但是切忌不能完全模仿,毕竟年代差距有点大了。

  • 试着放松一下自己,别卷了。

\(\boldsymbol{[2025/03/14]}\)

金库

\(\color{green}\bigstar\) P4804\(\color{Magenta}{\text{tag}}\):二进制。
思路分析:这种结构我们优化的角度是考虑把多次操作一起做。设初始状态为 \(a\),操作一次后 \(a\to f(a)\)

我们考虑复合一次 \(F=f\circ f\),则 \(F(a)_i=a_{i+2}\bigoplus a_{i-2}\)。这启发我们再复合 \(F\circ F,\dots,f^{2^k}\)

于是我们容易发现 \(f^{2^k}(a)_i=a_{i+2^k}\bigoplus a_{i-2^k}\)。于是暴力做 \(\log T\) 次即可,复杂度 \(O(n\log T)\)

问题分析解决

\(\boldsymbol{[2025/03/15]}\)

打了 苍穹计划 -- NOI排位赛 #2\(100+0+40=140\)rk.15

打得太没有拼搏精神了,最后才开 T2 导致暴力没写完。一直摆烂一直摆烂,既然想好了要打就应该把它打好。

金库

\(\color{blue}\bigstar\) qoj 4420\(\color{Magenta}{\text{tag}}\):分块,bitset
思路分析:考虑可达性问题我们一般是对每个点开个 bitset 记录其可达的点。

参考性的,对于这题,我们对每个点开个 bitset 记录其可达的询问

具体的,设 \(f_{i,j}\) 表示 \(i\) 点能否仅通过编号在 \([l_j, r_j]\) 之间的边走到第 \(j\) 个询问的目的地 \(v_j\)

考虑一条边 \(u \rightarrow v\) 的转移,假设它的编号为 \(k\),令所有满足 \(l \le k \le r\) 的询问的集合为 \(S_k\),则有 \(f[u] \gets f[v]\& S_{k+1}\)

差分考虑 \(S_{i-1}\to S_i\) 的变化即可做到 \(O\left(\dfrac{mq}{w}\right)\)。但是此时空间也是 \(O\left(\dfrac{mq}{w}\right)\) 的。

注意到每次询问只关心 bitset 中的一个点,于是我们对 \(q\) 分块处理即可,复杂度 \(O\left(\dfrac{mq}{w}+m\sqrt q\right)\)。空间 \(O\left(\dfrac{m\sqrt q}{w}\right)\)

问题分析解决

\(\boldsymbol{[2025/03/16]}\)

重装 win11 系统。

\(\boldsymbol{[2025/03/17]}\)

金库

\(\color{green}\bigstar\) P4067\(\color{Magenta}{\text{tag}}\):二进制。
思路分析:和 P3791 一样,往上找找我那题的思路即可。

\(\color{green}\bigstar\) P11888\(\color{Magenta}{\text{tag}}\):数论。
思路分析:傻逼数论推式子题,请查看题解。

\(\color{green}\bigstar\) qoj 5370\(\color{Magenta}{\text{tag}}\):单位根反演。
思路分析:单位根反演模板题,请查看题解。

\(\color{grey}\bigstar\) ABC267G\(\color{Magenta}{\text{tag}}\)dp
思路分析:经典的插入式 dp,从小到大插入,记一下此时相邻的 \(A_i<A_{i+1}\) 的个数 \(j\),然后转移枚举一下是否相等然后是否破坏了一对即可。

问题分析解决

\(\boldsymbol{[2025/03/18]}\)

金库

模拟赛出题,造数据。

问题分析解决

\(\boldsymbol{[2025/03/19]}\)

金库

\(\color{green}\bigstar\) ARC170C\(\color{Magenta}{\text{tag}}\)dp
思路分析:注意到当 \(m\ge n\) 的时候,\(S_i=0\)\(A_i\) 爱几把选几把选,\(S_i=1\)\(A_i\) 就一种选法。

否则 \(m\)\(10^9\) 就是假的,直接平方 dp 即可。

问题分析解决

\(\boldsymbol{[2025/03/20]}\)

打了 苍穹计划 -- NOI排位赛 #3\(100+100+90=290\)rk.2

连贺三题,太堕落了!

金库

\(\color{grey}\bigstar\) P1841\(\color{Magenta}{\text{tag}}\)Floyd
思路分析:考虑做 Floyd,如果 \(i\to j\) 的最短路能被两个点松弛到,那么 \(i\to j\) 这个点对就不会贡献关键点。

否则唯一的松弛点就是一个关键点,跑一遍 Floyd 即可。复杂度 \(O(n^3)\)

\(\color{#F1C40F}\bigstar\) 类类欧几里得\(\color{Magenta}{\text{tag}}\):原根,多项式乘法。
思路分析:大大大毒瘤数论题,请查看题解

问题分析解决

\(\boldsymbol{[2025/03/21]}\)

金库

\(\color{green}\bigstar\) \(\color{Magenta}{\text{tag}}\):点分治,线段树。
思路分析:显然有个根号 \(\log\) 做法,具体的 \(\log^2\) 做法可以参考我里面的题解。

这里想说的是这题想到点分治的契机依然是因为这是个路径最值的查询,也启发我们说点分治本质上是每次计算跨过分治中心的路径对某个询问的贡献,今后点分治应该朝这个方向思考。

\(\color{blue}\bigstar\) AGC051D\(\color{Magenta}{\text{tag}}\)BEST 定理,矩阵树,组合计数。
思路分析:纯纯板子,枚举其中一条边 \(A\to B\) 有多少个,然后算出所有有向边,然后 BEST 定理加矩阵树再乘上几个组合数就行了。

\(\color{grey}\bigstar\) 送分\(\color{Magenta}{\text{tag}}\):二进制,数学。
思路分析:请查看题解。

\(\color{red}\bigstar\) P8114P8333\(\color{Magenta}{\text{tag}}\):组合数学。
思路分析:科技题,请查看题解。

问题分析解决

\(\boldsymbol{[2025/03/22]}\)

打了 ABC398rk.267

金库

\(\color{blue}\bigstar\) \(\color{Magenta}{\text{tag}}\):可持久化可并堆。
思路分析:请查看题解

\(\color{green}\bigstar\) CF1090H\(\color{Magenta}{\text{tag}}\):二进制,思维。
思路分析:请查看题解

问题分析解决

\(\boldsymbol{[2025/03/23]}\)

金库

\(\color{green}\bigstar\) qoj 5356\(\color{Magenta}{\text{tag}}\):数学,dp
思路分析:首先数论题中的 \(\ge\) 很难处理,但是我们注意到 \(>\)\(<\) 是等价的,于是我们转换计数所有方案和 \(=\) 的。

然后容易注意到各个素数独立,拉出来随便做个 dp 就行了。

\(\color{#F1C40F}\bigstar\) qoj 1262\(\color{Magenta}{\text{tag}}\):组合计数,LGV,拉格朗日插值。
思路分析:请查看题解

问题分析解决

\(\boldsymbol{[2025/03/24]}\)

金库

\(\color{green}\bigstar\) P11932\(\color{Magenta}{\text{tag}}\)pollard-rho,数论。。
思路分析:设 \(F=C-A\times B\),然后若 \(F=0\) 则任意 \(B\) 均可,否则答案只可能是最低次项的绝对值的任意因子。检验就取模一个(或多个)大素数看是否余数为零即可。于是复杂度 \(O(nd(V^2))\)

问题分析解决

\(\boldsymbol{[2025/03/25]}\)

金库

\(\color{blue}\bigstar\) CF53E\(\color{Magenta}{\text{tag}}\):容斥,矩阵树。
思路分析:随便容斥把恰好 \(k\) 个转化为钦定 \(k\) 个,然后叶子的方案直接全部乘起来,剩下的点直接一个矩阵树算算就行。复杂度 \(O(n^32^n)\)

\(\color{blue}\bigstar\) ARC184D\(\color{Magenta}{\text{tag}}\)dp
思路分析:按 \(x\) 坐标排序后发现留下来的一定是 \(y\) 递减的一段,然后考虑对这些留下的 \(y\)dp。但是这时候一个方案可能会被计算多次。你就需要给方案钦定更多条件是的其构成双射。

这里就是再加一个条件:选的点俩俩中间不能再选并且不影响答案。暴力枚举 \(n^2\) 然后 \(O(n)\) check 即可。

问题分析解决

  • 福建省队集训可以陆陆续续补完,感受一下福建风

  • \(2024\sim 2025\) 赛季反思再这周完工。

  • 写一些和 cjwwshcl 的交流成果。

\(\boldsymbol{[2025/03/26]}\)

打了2025 -- 苍穹计划 -- NOI排位赛 #5\(100+100+3=103\)rk.4

金库

\(\color{blue}\bigstar\) P1998\(\color{Magenta}{\text{tag}}\):狄利克雷卷积。
思路分析:请查看题解

问题分析解决

\(\boldsymbol{[2025/03/27]}\)

金库

\(\color{blue}\bigstar\) P2025\(\color{Magenta}{\text{tag}}\):数论。
思路分析:请查看题解,揭示了狄利克雷前缀和常数大以及内存访问连续的必要性。

\(\color{blue}\bigstar\) ABC397G\(\color{Magenta}{\text{tag}}\):线性规划,费用流。
思路分析:二分是显然的,然后考虑朴素的命题不好做,尝试对偶一下,发现对偶后的命题很容易费用流建模。

问题分析解决

\(\boldsymbol{[2025/03/28]}\)

金库

\(\color{green}\bigstar\) SP26916\(\color{Magenta}{\text{tag}}\)GFLucas 定理,CRT
思路分析:请查看题解。

问题分析解决

\(\boldsymbol{[2025/03/29]}\)

打了2025 -- 苍穹计划 -- NOI排位赛 #6\(15+25+45=85\)rk.13

金库

学习了构造卡掉梦熊 T3 \(O(n\sqrt n\log n)\) 暴力维护的做法:即卡全局平衡二叉树以及莫队。参考这里

问题分析解决

\(\boldsymbol{[2025/03/30]}\)

金库

\(\color{green}\bigstar\) bzoj 4964\(\color{Magenta}{\text{tag}}\):括号序列,线段树。
思路分析:合法括号序转化为:\(a_{l-1}=a_{r}\),且 \(a_{l-1}\) 是区间最小值。考虑对 \(l-1\) 找最远的满足这个条件的 \(f_{l-1}=r\)。这时候我们观察到当 \(l>ql\) 时候,绝大部分情况对应的 \(r\) 都会 \(\le qr\)

然后对于一个询问先处理区间最小值的最远的那对,那么剩下的 \(f_{l-1}\) 就一定不会跨过最小值,也就不会 \(>qr\),线段树查区间最大值即可。

\(\color{blue}\bigstar\) 忘却\(\color{Magenta}{\text{tag}}\):容斥,FWT
思路分析:请查看题解

问题分析解决

  • 减少和其他选手的比较,尤其是当你实在想不通他们为啥比你强那么多的时候,这样的比较除了加重自己的焦虑外没有任何意义。
    应当想想自己比昨天的自己多会了些什么,想想自己一天前的问题解决怎么样了,多去总结自己吧。

  • 赛季反思既然已经拖这么久多写不出来,其实已经没有做的必要了。及时你在怎么总结自己比赛上的失误终究只是表象,一场比赛脑子的精力是有限的。要做的应该还是优先提升自己水平,朝着碾压题目的目标进步。

  • wshcl 的交流姑且是认为坚持下来了,但是附中内部的题目交流反而没坚持下来,这点需要改善。

\(\boldsymbol{[2025/03/31]}\)

金库

\(\color{blue}\bigstar\) \(\color{Magenta}{\text{tag}}\):二进制,构造。
思路分析:请查看题解

\(\color{blue}\bigstar\) 抽鬼牌\(\color{Magenta}{\text{tag}}\):生成函数,多项式乘法。
思路分析:请查看题解

问题分析解决

posted @ 2025-03-03 21:04  HaHeHyt  阅读(294)  评论(0)    收藏  举报