11月训练日记
前言
不能再跟在别人背后漫无目的地刷题了,应该走出自己的道路。
- zxy的思维技巧(提升水平主要途径)
- 正睿模拟赛题(认真做,比赛状态主要来源)
- 其他模拟赛题(仅口胡)
UPD:dp 题方法总汇 -YeahPotato (来自dxs推荐)
每天晚上睡觉前半小时/第二天到学校打正睿前,复盘自己一天训练情况。
摘抄的歌词并没有什么顺序,想到什么就贴什么了。
最后 30 天。
花火绽放
在孤独梦中
点燃苍穹
润湿了瞳孔
想要去触动
在你眼中的夏夜空
11.1
[NOI2021] 密码箱:由答案的线性变化形式主动转化为矩阵确实妙啊,顺便练了下文艺平衡树。
11.2
Tower Defense:颜色段均摊+主席树维护分段函数。
Into Blocks (hard version):转为颜色分段后用线段树维护。
The Tree:操作 1 对答案影响的转化是关键的。
11.3
1h过了前两题,但是T3T4都不会正解,不能要了。\(100+100+80+60=340\),没有挂分。
这种摆烂表现都能rk5是我想不到的。
这也提醒我,无论场上发生了什么,把自己该打的暴力都打了,该拍的拍了,该静查的静查了,之后只是相信自己就好了,不后悔就是最终追求。
Rotating Substrings:T2原题,感觉不比今年CSP T3难多少,看到数据范围想到 n^2 dp就会了。
[24noip十连测day9]地毯:用悬线法状物对于四个方向各扫一遍就好了,为什么我想不出来?
[SNOI2020] 区间和:势能线段树,或者说就是KTT。
EI 的第六分块:KTT板子。
11.4
预期得分:\(100+100+20+45=265\),实际得分:\(20+60+20+45=145\),rk22。
虽然说就这个榜而言没有挂这120分的话能 rk2,但是其他人也都是有挂分的情况,不能一概而论。说到底还是要尽力避免自己的挂分。
T2 爆long long了。
T1 是完全由自己想出来的正解,但是细节写挂了,然后看到大样例都过了很兴奋,感觉大样例强度在线,再加上T3T4暴力还没写。就直接去冲T3T4了,最终T3T4虽然冲满了,却因为没有对拍或者静查T1而挂了。可以说是和CSP的T4栽在了同一个坑,NOIP绝对绝对不能这样!
[24noip赛前20连测 day13] 烟火大会:随便胡一篇题解。
-
刚看到题目,
结合题目位置以为是一道细节比较多的树上 dp。 -
但是发现操作序列字典序最小没法用 dp 刻画,只能贪心,需要维护每个点接受/不接受来自父亲的入度的合法情况,如果有点两种情况均不合法或者不符合操作方向限制就寄了。
-
但是如果直接贪心check,暴力向上更新是否合法的话,复杂度是 \(\mathcal{O}(n^2)\) 的。
-
其实上每个点只有两种单向限制上传更新,我们可以对其记忆化下来,如果已经知道不合法就直接跳掉,这样复杂度就是均摊 \(\mathcal{O}(n)\) 了。
-
感觉和CSP T4的带log做法难度差不多。
CSP 出分:\(100+80+100+60=340\),坠机了。
T2 把 long double换成 double就过了,可能是没加eps的锅。
T4 加个剪枝优化就跑得飞快了。
厦门的高一人都能用1.5h场切T4,我却只能3h搓一个带log做法还写挂了没看出来,是需要好好反思下了。
晚灯渐灭 季节更迭
世界线的终点
毫无征兆又来得自然而然
11.5
只会打暴力,虽然就考试策略的选择没啥问题,但是T4想不出来确实不应该。\(100+40+70+60=270\),rk6。
但是无论如何,考场上拿到尽量高的分才是王道。
[24noip赛前20连测 day14] 龟兔赛跑:其实是简单题,但是关键转化出不来确实很伤。
-
首先要进行一步关键转化:
假设你现在要求乌龟到达 \(x\) 处的时间,就相当于是:你刚开始有一个 \(x\) 个物品,每在时间坐标上向前走一步物品数量减一;如果遇到“减速标记”,当前物品数量翻倍。当物品数量为 \(0\) 时停止在时间轴上移动,结束时的位置时间就是你的到达时间。 -
转化完后就可以上线段树维护了。
-
对于一个时间区间,我们维护 \((k,s,a)\) 表示区间内有 \(k\) 个“减速标记”;要想不在这个时间区间内停止,需要 \(s\) 的初始物品数量;以 \(s\) 的初始物品数量走完这个区间后,剩余物品数为 \(a\)。
其中 \(a\) 的真实值可能会很大,远远超出取模范围。但是 \(a\) 的真实值只有在区间合并时与 \(s\) 进行比较大小时有用到,所以只要存下真实值与1e18取 \(\min\) 的结果就好了。 -
区间信息合并不难,但是结合需要特殊存储的 \(a\),有点细节。
-
对“减速标记”位置离散化后上主席树以实现回退操作,时间复杂度 \(\mathcal{O}(n \log n)\)。
[24noip赛前20连测 day14] 新·楚汉之争:数据结构好题!
从给的题解可以知道这个题面应该是转化过的,推测转化前的原题面:
在数轴上位置 \(x_i\) 处有高度为 \(h_i\) 的骨牌,骨牌可以向左或向右推倒,每次推倒一张骨牌不能有连锁反应。每次询问:只能推倒区间内骨牌的情况下最多能推倒多少骨牌。
接下来的题解都基于此题面。
-
发现对于每张骨牌 \(i\),可以找到 \(L_i\) 使得对于所有 \(l\le L_i,i\le r\),对 \([l,r]\) 的询问必定可以把 \(i\) 给向左推倒。
-
考虑用整体二分求解 \(L\) 数组。
-
假设整体二分过程得到在 \(\forall i \in S,L_i\in[l,r]\),现在要求解 \(L_i \gt\) \(mid=\frac{l+r}{2}\) 的集合
-
也就是求以 \(mid+1\) 为左端点可以向左推倒的骨牌集合。
-
直接从 \(mid+1\) 往后扫,用一个栈维护当前还没推倒的骨牌,他们有可能阻碍现在扫到的骨牌 \(i\) 向左推倒,每次对栈顶骨牌判断能否向右推倒,可以的话就进行弹栈。然后对于所有弹栈结束后的栈进行判断 \(i\) 能否向左推倒。
-
-
\(R\) 数组的含义和处理同理。
-
求出 \(L,R\) 数组后,我们只需要计算 \((l\le L_i \land i\le r)\lor(l\le i \land R_i\le r)\) 的个数,容斥下就是简单的二维偏序了。
-
最终复杂度 \(\mathcal{O}(n \log n)\)。
[24noip赛前20连测 day7] 挥舞重锤的全能之神:周末刚刚学的KTT,想起cxl场的这道KTT还没订正,就补一个题解吧。
-
首先考虑二分答案 \(k\),如何check是否合法。
-
这个问题是形如匹配的:对于 \(i\in[l,r]\),初始有 \(k\) 个物品,位置 \(i\) 可以与 \(a_i,b_i,b_{i-1}\) 进行匹配,要求最终能把每个位置的 \(k\) 个物品匹配完,也就是存在完美匹配。
-
考虑 Hall 定理,发现点集选择区间是最优的,于是限制变成:对于任意 \(l\le l'\le r'\le r\),都满足 \(k(r'-l'+1)\le \sum_{i=l'}^{r'}a_i+\sum_{i=l'-1}^{r'}b_i\),移项后可以转化为形如要求区间最大子段和 \(\le 0\)。
-
那么问题就转化为了区间修改,区间最大子段和,上个 KTT 就好了。
回首 轻舟淌过满天星
年少惊鸿飞入我怀里
我捧起风一缕
又回到了原地
11.6
预期得分:\(100+100+40+70=310\),实际得分:\(100+100+40+50=290\),rk6。
T4 莫队部分分没考虑顶满的极限数据挂了20,没挂也只有rk3。
出题人素质真的差,T1 高联一试T8(n=6)加强,困难数学题,感觉全是打表后oeis过的,T3 抽象数数题。
[24noip赛前20连测 day15] 城市/9019 #6896[FJWC2020] 图 (graph):实在是讨厌这种特殊性质题目。
-
记 \(F(S)\) 表示 \(S\) 的导出子图连通块数量,那么我们要计算的就是 \(\sum [F(S)=1]=\frac{1}{2} \sum 2^{F(S)}\bmod 4\)。
-
然后考虑 \(\sum 2^{F(S)}\) 的组合意义:把每个点染成白红蓝三种颜色,要求蓝色点与红色点间不能连边的染色方案数(白色点相当于不在 \(S\) 中的点)
-
记 \(|u_i-v_i|\le k\),那么从左往右进行 \(\mathcal{O}(n3^k)\) 状压dp就做完了。
[24noip赛前20连测 day15] 数据结构/Excluded Min:
-
首先显然要转化为求最大的数 \(x\) ,使得 \(f(i,x)=\sum_{j=l_i}^{r_i} [a_j\lt x] \ge x\)。
-
直接对于每个区间做是困难的,貌似只能上朴素的莫队做到 \(\mathcal{O}(n\sqrt n\log n)\),不可接受。
-
可以类似扫描线地,从大到小枚举答案 \(x\),维护每个区间的 \(f(i,x)\)。修改就是对于所有 \(a_p=x\),将 \(l_i \le p\le r_i\) 的 \(f(i,x)\) 减去一,然后对于剩下的 \(f(i,x)\ge x\),将 \(ans_i\) 设为 \(x\),并从询问集合中删去,后面就不需要维护其 \(f(i,x)\) 了。但是直接做仍然是困难的。
-
但是可以注意到一个关键性质:对于 \([l_j,r_j] \subseteq [l_i,r_i]\),有 \(ans_j \le ans_i\)。这告诉我们每次只需要维护那些没有被包其他区间包含的区间(称其为好区间),而对于好区间集合 \(S\) 中 \(i,j\in S,l_i \le l_j\),又有 \(r_i \le r_j\)。因此每次修改就是对于好区间集合中按 \(l_i\) 排序后的一段连续区间进行修改,就可以做了。
-
而一个好区间得到答案后,就要把这个好区间删掉,维护加入新的好区间。
11.7
打得稀烂,如果不是通过cym知道T3原题我做过,绝对要下大分。
T1 往操作树方向去想了,结果就是特别难写,花了好长时间。
T2 想到了 \(n^2\) 的做法,但是冲正解的时候想歪了,以为是有什么关键规律,结果是直接简化就好了,最后 \(n^2\) dp 也没时间打。
T4 题目还看错了,爆零了。(虽然 xtq T4又出类提答式构造题还算太极端了)
虽然是没有什么模拟意义的场,但是一中人都能打好,我打不好,这就是差距所在。
-
首先对所有牌根据价值从大到小排序,记 \(f_i\) 表示还剩前 \(i\) 张牌的最大期望,考虑当前决策是对于阈值 \(j\),抽到前 \(j\) 大的就见好就收,否则接着向下抽。
-
由于最优阈值 \(j\) 显然有单调性,所以如果需要接着向下抽,就不会关心较小牌选了哪张,所以 \(f_i\) 可以直接由 \(f_{i-1}\) 转移而来。
-
于是有转移 \(f_i=\frac{\sum_{k=1}^j a_k +f_{i-1}\times(i-j)}{i}-c\)。
-
其实 \(j\) 就是 \(a_j \ge f_{i-1}\) 的最大位置。
-
然后就做完了,复杂度 \(\mathcal{O}(nq)\)。
[24noip赛前20连测 day16] MI/24省选day2-芦荀花:倍增牛牛题。
-
首先预处理出 \(nxt_i\) 表示最小不在 \(i\) 子树内的 \(j\),那么 \(k=1\) 的情况下就是从 \(l\) 开始跳 \(nxt\) 直到大于 \(r\),容易用倍增实现。
-
\(k\gt 1\) 时,需要额外处理的是区间与区间之间的连边。从左往右扫描区间,之前的区间 \(j\) 中可能与当前区间有连边的只有之前区间中最后一个区间内连通块的根到 \(r_j\) 路径上的点。而且已经与之前的区间有过连边的点不会再被用于当前区间的连边。
-
结合上述性质,只要维护一个待连边点集的栈,结合倍增处理就好了。感觉细节很多,时间复杂度 \(\mathcal{O}((n+k)\log n)\)。
闲话
机房里面的氛围愈发压抑了,这或许是因为人数大爆发,每个人都是竞争关系。导致有希望省队的选手之间几乎看不到正向的互相交流。
我在机房里面也是愈发烦躁,觉得部分高一学弟、初中小朋友很烦人。当然,或许我在他们这个时候也不比他们消停多少。
但是这也更加让我体会到hjx,wzh,gwx,jyy去年持续高强度给我们提供质量还算高的模拟赛是多么的无私;以及再上个赛季Linshey还在时机房互帮互助,欣欣向荣的氛围是多么珍贵。
说出永别之类残酷的话
昨日温暖笑着的大家
今天就如腐朽草木般冰冷
今年附中竞争省队的人确实太多了:CSP 300+的就有15个,有希望省队的哪怕把半摆烂的cym、退役的yjr去掉,也有高二5个,高一3.5个(大胆把adam01和cjwen加起来只算1.5个),而去年貌似也只有高二4.5个,高一2个。
而且今年校线能不能有5个都是未知数。
虽然不断告诉自己只要尽量发挥出自己的最好水平,不用去想结果。但是打正睿感受自己的状态、水平的提升,以及看别人游记中绚丽多彩的OI生活又让我不禁怀疑真的退出时该会多么的不甘心。
如果我NOIP真的上不了校线,我真的能毫不留恋地转回whk,冲刺未知的中科大吗?atcoder的分数还没上2000,CF还没上GM,OI生涯还没有AK过比赛……太多太多的遗憾,真的能完全释怀吗?
我想体验绚丽多彩的一个赛季,想要在NOIP中一鸣惊人,而不是NOIP再像去年一样考出一个队线边缘的分数,想拼又不敢拼而矛盾。
只是我真的有那个水平吗?
不经意世界线变动
改写又定格了人生
神明玩味的目光中
强颜欢笑即便无能
内心的想法,写出来就写出来了。把接下来的22天好好度过吧,不再留下遗憾。
11.8
Latin Square:不要被行/列取逆给吓倒了,应该仔细分析其全局操作本质作用。
Julia the snail:离线后转势能线段树。
[HNOI/AHOI2018] 转盘:8月写的题,现在再看还是觉得非常有启发意义,补个题解。
-
首先按照时间顺序去做是很难的,于是考虑正难则反,将问题转化为:从时间 \(t\) 开始,确定一个初始位置 \(x\),每次可以向后走一步或者停留,时间减一,第 \(i\) 个物品在 \(T_i\) 被删去,求能在所有物品删去都被获取的最小的 \(t\)。
-
破环为链后推下式子:\(t-(x-i)\ge T_i\),即 \(t=\max(T_i-i)+x\)(\(x\in[n,2n),i\in(x-n,x]\))。
-
记 \(a_i=T_i-i\),枚举所有 \(x\) 计算答案,那么答案即为 \(\min_{x=1}^n(max_{i=x}^{2n}a_i+x)+n-1\)。
-
后缀最大值形式启发我们往单调栈方向去思考:对于后缀最大值单调栈 \(p\),答案就会是 \(\min (a_{p_i}+p_{i-1})+n\)。
-
用兔队线段树维护下就好了,细节有点多。
CPU 监控:复健历史信息线段树。
调试经验:调数据结构题时,注意多信息进行修改时,需不需要先将每个初始值给记下来,避免一个信息的修改导致其他信息的修改出现差错。
11.9
上午打老王大撒币比赛,T3冲不出来坠机了
下午跟着打ucup,但是感觉状态很差,基本上都在划水,只过了道签到题。但是快回家时跟hyt练球练了一会。
晚上先打 abc 再打 cf。
abc 简单场怒砍4发罚时,不能要了!
CF 坠机了,D题想复杂了被硬控半小时,F题还只能想到复杂分讨二维数点,觉得时间不够去睡觉了。
只上了18分。
11.10
预期得分:\(100+100+35+32=267\),实际得分:\(100+100+20+32=252\),这能rk3???
一定程度上复刻NOIP2022。
我不想说“如此成绩,如何NOIP”这样悲观的,笼统的话,我需要深刻的反思。
虽然确实反映了我的水平低下,但是考试策略也确有问题。
在只剩2h时面对这样的情况:前两题均过,T3会分数很高的暴力,但是没有把握能调出来;T4已经有了最低档的暴力。
我选择了放掉T4冲T3高分暴力。最后T3调不出来,也只拿了最低档的部分分。遗憾离场。
T3没有绝对把握写出高分暴力,也不会正解的时候,就应该先把T3好写的,稳稳的暴力先拿到手,然后去考虑T4剩下的部分分。
太执着于过题了,跟昨天打梦熊如出一辙:想着T3T4至少要过一个,最后正解也没有,暴力分也没拿到,竹篮打水一场空。
NOIP考场上如果也出现T3T4都不会的情况怎么办?首先是稳住心态,相信自己的水平,相信别人也都不会,自己只打暴力也能达到队线。然后先思考正解,实在思考不出来再一档一档打暴力。
但是其实T3T4都想到了非常接近正解的做法,都只差临门一脚:T3想到了dp没分析复杂度,而且写的太屎了没调出来;T4也是只差考虑对于 \(la\) 去分讨。
但是怎么T2只有6个人过,我也是被震撼。
赛后发现T2做法假了,被hack掉了,忍俊不禁。
[24noip十连测day10] 比赛:跟NOIP2022T4相比,有点难,但不多。
-
首先处理出前缀和数组 \(s\),对 \(r\) 做扫描线,考虑如何维护 \(ans_i\)。
-
找到 \(r\) 前面最后一个 \(s_p\gt s_r\) 的位置 \(p\)。那么对于 \(i\in[1,p]\),新加入的 \(r\) 对 \(ans_i\) 的贡献只有 \([p+1,r]\) 的最大后缀和(因为如果贡献的子段和的左端点 \(\le p\) 时,将右端点设为 \(p\) 显然更优)。由于 \(ans\) 数组单调递减,二分下位置,对 \(ans\) 数组进行区间修改即可。
-
而对于 \(i\in (p,r]\),\(ans_i=s_r+mn_{i-1}\),其中 \(mn_i=-\min_{j=i}^{r} s_j\)。
-
因此我们只要支持以下操作:区间赋值 \(mn\)、区间赋值 \(ans\)、区间赋值 \(ans=mn+k\)、维护 \(ans\) 历史和。
-
上线段树维护即可,时间复杂度 \(\mathcal{O}(n \log n)\)。
11.11
预期得分:\(100+100+50+10=260\),实际得分:\(70+55+20+10=155\),rk27。下分了。
T1 刚开始就想复杂了,想着用三元环刻画,假了之后不断打补丁,然后不但补不上,还TLE了。
T2 哈希用 map 然后被卡常了,应该用 unordered_map,然后又因为有子任务依赖,喜提 55pts。
T3 刚开始以为是线性的,12:10 发现假了,然后心态爆炸,直接弃了去冲T4部分分,实际上跟正解只差最后一步,赛后马上就想出来了。
T4 题目没看清楚,错误估计了难度,部分分看上去很丰厚,实际上特别困难,全场最高分也只有10分。还不如去检查前面的!
花花绿绿的色块勉勉强强拼凑成
故意使其在阴雨中斑驳掉的过去
就如同今日无言垂泪的苍穹
成为广阔沉重牢笼
11.12
又是打的一坨屎,预期得分:\(100+100+88+100=388\),实际得分:\(100+50+88+100=338\)。我的模擬賽確有問題!
但是打完比赛才发现大样例在QQ群上。
T2 应该上个对拍的,太过相信自己的贪心了,结果正解是要爆搜。
T3 很快写了88分做法,但是想正解一直想不到找到前面第一个能被扩展的区间。被 \(k\le 5\) 的暴力所束缚住了思路,只想着去优化。
只有最后3场正睿比赛了,一定要让这几场比赛有意义!
拥有蓝色羽翼的飞鸟
所不能够逃离的泥沼
便是这被称为乌有的地方
[24noip赛前20连测 day18] 商战风云:确定倍增主体很关键,想明白后就很简单了,写了不到1h就过了。懒得写题解了。
11.13
困难场,\(100+20+19+20=159\),rk12。原本以为要下大分了,但是其实大家都打的很摆烂。
T2 想到了 mex 的弱化转化为不在连通块内的任意权值,想到了树上背包,但是没能想到这样转化后可以直接合并信息,输了。
[24noip赛前20连测 day19] 数树题:非常好的利用了mex运算的弱化转化、\(\mathcal{O}(\log n)\) 深度随机树的子树和性质的一道树上背包。
[24noip赛前20连测 day19] 绝对值划分:发现划分段不超过 \(3\) 后就是简单线段树二分题了。
9019 #8000924. 同归世界线 (world):不知道是不是 hjx 的原创题,虽然是数据结构题,但是算法简单,考察思维。
11.14
简单场,但我唐完了,预期得分:\(100+100+100+70=370\),实际得分:\(50+100+100+70=320\),rk20。
T1 不但做法复杂,还漏特判了,挂了50,坠机了。
T4 好像相当一部分人写的广义串并联图方法,我怎么完全没见过啊?
[SNOI2020] 生成树:广义串并联图板子。
[24noip赛前20连测 day20] The Fishmans:
-
发现 \(m-n\) 相当小,考虑在 dfs 树上将返祖边中的祖先点设为关键点,枚举关键点的颜色划分。
-
然后 dfs 一遍枚举颜色直接转移就好了,确实不是很难的题。
晚上看国足先被巴林绝杀,VAR吹掉后国足反绝杀,太刺激了!张玉宁牛逼!
11.15
[SDOI2017] 切树游戏:学了下静态 Top Tree,感觉很牛啊。
【XR-2】永恒:复健下全局平衡二叉树。
9019 [2024-10-18 提高组校内模拟赛] Multisets (multiset):hjx 搬的模拟赛T4,随机取中点二分,感觉很深刻啊。有点卡常。
11.16
上午做跟外校换到的题。下午打ucup,4人队,贡献了2.5题。
晚上abc坠机了,又吃了一车罚时,幸好最后1s极限过G,不然就下大分了。

11.17
上午打正睿最后一场 Rated 比赛。预期得分:\(100+100+100+76=376\),实际得分:\(100+65+100+52=317\),rk10。没上分到2347,输了!
T2 以为启发式合并 log 能卡过去就没管,结果正解是线性的,还因为常数大挂飞了。
T4 感觉上去复杂度没太大问题,跟正解大差不差,但是常数太大了,就挂飞了。(其实正解要用分块优化复杂度)
然后就打了一下午的石头门,完成了铃羽结局。
晚上打 ARC,被A题硬控一整场不会,坠机了。
最后2周了。
進め 命燃やして
進め 燃え尽きても
11.18
刷模拟赛题,比较有意思的题才会放到博客上。
9019 #85587442:几乎没见过大根堆计数题目,太失败了。
[ABC214G] Three Permutations:容斥+背包。
11.19
9019 #85587444/CodeChef Maximum and Minimum:
-
先对两张图都建出 Kruskal 重构树。
-
第一棵树上枚举LCA,启发式合并。在第二棵树上用[LNOI2014] LCA的套路维护信息。
-
用树剖维护的话复杂度好像是 \(\mathcal{O}(n \log^3 n)\) 的,但是跑得很快啊!(把树剖换成全局平衡二叉树或者用什么点分治之类的方法能做到 \(\mathcal{O}(n \log^2 n)\))
9019 #85587472:发现自己之前都不会单调队列/二进制分组优化多重背包,怎么会事呢?
晚上看国足,虽然1-3输了,但是感觉踢得非常好,是我看过的国足表现最好的比赛没有之一。唉,为啥我不能去厦门现场?
11.20
最后10天。
若愿望注定落空断折
那这涂抹幸福的礼盒
承装了孤独失落或是什么
[23noip十连测day1] 山茶花:线性基好题。
[23noip十连测day1] 康乃馨:把每个环拎出来求凸包然后闵可夫斯基和起来。
[23noip十连测day2] Dream/9019 #7013. dream:由于数据随机,标记回溯的深度不会太大,直接在线段树上记一下,修改时类似吉司机线段树进行区间减就好了。
[23noip十连测day3] 有向图最小环:最短路超级好题啊,把求最小环转化为以出度点和入度点为状态跑最短路。
[23noip十连测day3] 二分图最大匹配:利用二分图匹配性质而推出深刻dp。
[23noip十连测day4] 柳穿鱼:去年就不会,当时看题解只记住了平方转组合意义,没有注意到转dfs树这步也是相当高妙的。
[23noip十连测day5] 三元环计数:长剖板子题。
11.21
似曾相识的雨。
停不下的 止不住的
这城市的雨啊
漾起的水纹能撼动什么
-
将初始怪物血量排序后,设 \(b_i=i-a_i\),那么结束条件转化为 \(b_i\ge b_{i-1}\),那么 slope trick 维护下 dp 过程就好了(可以简单推导得到上凸壳的最大斜率为 \(1\))。
-
由于 \(b_i+1 \ge b_{i-1}\),所以可以直接开个桶,维护最大值指针,复杂度就是 \(\mathcal{O}(n)\) 了。
[23noip十连测day5] 树上排列计数:dp 状态的设计十分高妙。
[23noip20连测day1] 涂鸦:简化状态的奇妙小方法完全没见过。
11.22
[23noip20连测day2] 紫丁香:并查集+最大生成树。
[23noip20连测day3] 有点太:为啥一直想不到最短路?
[23noip20连测day3] 极端:转化为用 \(a_{i,1}\) 的代价覆盖 \((i,1),(j,-1)(|i-j|\le d)\),然后 \(\mathcal{O}(n^2)\) dp。
晚上打ABC,G题数论果断弃了,但是A~F都没啥难度。
11.23
ARC 扩展域并查集调了一整场没调出来,没想清楚导致的。
CF 傻逼题吃了一车罚时,E还因为清空问题最后没调出来,下大分。
打完CF 1:30,想着看看曼城主场打热刺调剂下心情,结果被屠杀了。
这周主场被热刺踢个0:4,下周客场利物浦要输成什么样?
这周CF、ARC打成这个鬼样,下周NOIP要挂成什么样?
复生的回忆似堪堪破茧的蝶
流泪的翼穿过人群 带着唯一的色彩起舞盘旋
让我再看这奇异的风景一眼 就一眼
仿佛也能感染上些许鲜艳
11.24
真的只有最后6天了。
下午打 Public Round,T3 始终想不出来,倒闭了。最后T3T4都打了个最低档暴力跑路。
[23noip十连测day6] 简单题:分块好题。
-
根据 \(fa_i<i\) 的性质,可以枚举子孙节点在树上倍增跳祖先,只要满足祖先编号 \(\le l\) 就好了,这样可以快速解决散点对整块的贡献。
-
对于整块对整块的贡献,枚举整块子孙节点打tag,对整棵树 \(\mathcal{O}(n)\) 扫一遍就好了。
-
时间复杂度 \(\mathcal{O}(n\log n+(n+q)\frac{n}{B}+qB\log n)\)。
-
首先把 \(10^i\) 对 \(p\) 的同余等价类求出来,对于每个等价类进行背包。
-
现在的问题转化为了:\(n\) 个值域在 \([0,9]\) 的数,和为 \(m\) 的方案数。
-
\(m\) 很小,预处理下 \(f_{i,j}\) 表示 \(i\) 个在 \([1,9]\) 中的数,和为 \(j\) 的方案数就好了。
-
复杂度 \(\mathcal{O}(m^2)\)。
11.25
[JOI Open 2016] JOIRIS:深刻构造题,但是想清楚后非常好写。
[23noip20连测day7] 茉莉花:dp of dp 优化状压。
[23noip20连测day12] 我是 B 题:深刻搜索。
11.26
[23noip十连测day8] 测测你的优化水平:dp 的状态设计好像是套路,但我没怎么见过。
[23noip十连测day8] 测测你的网络流水平:不是很喜欢这种利用图的特殊性质的题目。
[23noip20连测day13] 分析:关键转化想不到啊。
[23noip20连测day13] 代数:k 次方的转化是显然的,但是计数关键点的方法很深刻。
11.27
[23noip十连测day9] 交换余生:从小到大枚举 \(k\) 大值在链表上暴力找区间,为啥我想不到?
[23noip20连测day18] 魔法师:将取两种权值和的max转化为在线段树上左右儿子合并的方法真的很妙,看到这种单点修改的题目就应该思考如何快速与其他信息进行合并。
[23noip20连测day19] 基因编辑:想不到好的维护方法,可以考虑大胆上 bitset。
11.28(Day -1)
[24noip十连测day8] 离歌:只记录前后缀的出现次数是不好做的,应该记录每个区间的出现次数,容斥求出答案。
[23noip十连测day10] 虚拟:枚举手牌达到上限的位置,对两侧进行dp求解。
[24noip十连测day9] 活动:需要观察到关键性质:每个活动 \(i\) 只当且仅当在教室数 \(\ge p_i\) 时举办,可以用整体二分求出。
不再写新题了,复盘过去做题训练情况,敲一敲板子,相信自己吧。
童话只美在真实却从不续写
当这世界再次苏醒 我便挥一挥石头与之告别
喧嚣照常将这细微瞬间敷衍
无人会关心美好于斯沉淀
发现8月9月做的很多题的质量都不错,都应该要再思考消化一遍的。无奈的是我已经没有时间了,而且题目是做不完的,考试考到见过类似题目的概率也微乎其微。
还是要把最后的这些时间花在复盘模拟赛策略方面,以及板子训练。
时间真的过得好快好快。
11.29(Day 0)
上午敲板子,以及看自己这4个月的做题日记,感觉我真的应该早几天拿来复习的。
下午先跟cym联机一把文明6,然后打了一会ori2,最后又跑到503跟学弟们激情generals。
晚上看了看自己从初三到现在的游记,感觉每次考完试都在喊马上就要退役了,和如今机房里面吵吵闹闹的学弟一般模样。
但是哪怕是最接近退役的今年省选后,我还不是因为APIO而重拾OI热情,反抗家长一番后又厚着脸皮回到了OI?
只是确实一步一步迈向退役。
我现在的水平如何?状态如何?经过了4个月的训练,或许在一些数学题方面还是没啥长进,但是毫无疑问是我状态的巅峰了:正睿模拟赛情况和去年大相径庭,rating跟去年的gwx、jyy没有低太多。
相信这样的我,一定是有省队水平的吧。
正如已经听学长说了两年的话:因为你在FJ,所以哪怕有校杀,在有省队水平的前提下,你只要三天有一天能考得好,另外两天只要没有过大的失误,你就能进省队。
所以,Gao_yc,不要害怕。
最坏的结局不过是没有进校线而退役去冲击中科大,哪怕没能进入少创班,只是去参加高考,在创班中的你也能考得一个好结局,进入大学后也可以像学长一样参加XCPC。
你已经不是那个在NOIP2022考场上忘记边双,T1清空问题挂到10分的gyc;不是那个在NOIP2023考场上T3想复杂导致TLE的gyc了。你现在处于水平和状态的最高处,一定能得到一个好结果的。
NOIP2022队线220,NOIP2023队线335,这些都已经是你如今能轻松达到的了。
你没有像cym、yjr那样优秀的天赋,没有像dxs一样往死里卷的坚持,更说不上有多好的运气。
你有很多很多的缺点,但你最终到达了此处。无论如何,请让NOIP2024这4.5h对得起你自己。
岁月会删繁就简 将故事缩略成光源与漫漫黑夜
昨天被匆匆地裁切 与前日白昼梦拼贴
谁需要这 不解风情又潦草的总结
11.30(DAY 1)
晚上冷静下来后还是开始写下游记。
真的是重蹈省选覆辙了。
T1T2过的还算快,但是T3没有想清楚就开写了,T4部分分也是同样的没想清楚,浪费了大量时间。
最终估分:\(100+100+56+32=288\)。
连固执的资本也都尽数失去 再没坚强能供自我麻痹
12.6


为什么是NOIP2024???为什么是NOIP2024???为什么是NOIP2024???为什么是NOIP2024???为什么是NOIP2024???
至少不用在两边之间摇摆不定了。
把三个月的训练记录公开了(前两篇的密码校内同学都知道),希望对后来者有点用吧。
仰视那片离我远去了的天空 生命真实得再无法忍受

浙公网安备 33010602011771号