游寄集合
给以后的自己看的
GDOI2022pj(线上)
Day1 8:30~12:00
8:35交T1
转T2,看见 \(\oplus\) 就恶心,跳过
T3浏览了一遍没看懂题
忐忑地转T4,看到计数二字不禁喜上眉梢。看到 排成等差数列 都是公差倍数,直接想到 \(n\ln n\) 暴力枚举,然而 \(L\) 与 \(R\) 的限制让复杂度直接平方。\(m\) 的限制完全没用,\(c_i\) 不过是用来统计答案的数字而已。答案是一个一个一个一个区间乘积的和,想到记录前缀积,再对前缀积求一次前缀和,没了。细节还是有点多的,10:16交题。
回头看T2,仍然没思路,转T3,15分钟理解了题意,发现子树信息相互影响,没法 dp。看 subtask,有个 \(w_i\le 100\),明摆着让我枚举 \(\max\)。再看前面 \(n\le 500\) 的 subtask,还是可以枚举 \(\max\),然后贪心,70pts 有了。想了一下拓展到 100pts 未果,11:00交题。
全力艹T2。我还沉浸在T4的思路中,脑子里想的全是枚举极长异或和为 \(0\) 的子段。当然是没有结果的,11:45 交了 20pts 暴力滚粗。
赛后
T1炸了,\(0\le A,B,C\),不讲武德。虽然期望还是有 90pts 左右
T2码量甚至比T1还少...我就没往前缀和上想过
T3二分答案做法至今不懂
T4和同机房与外校dalao交流了一下,做法应该没错。
随后,我欣赏了一番这道唯一写出来的非签到题的代码,发现一个小问题:
const int N=1e5;
...
for(int i=1;i<=N;++i) inv[i]=fpow(i,P-2);
...
int x=inv[sm[b][i-1]];//sm是前缀积,对998244353取模的那种
nmd为什么不给大样例
期望得分直接降到 20pts 以下
出成绩后
T1期望 90pts 个头哦,当场爆零
int a[3];for(int i=1;i<=3;++i) cin>>a[i];
T4同样炸裂,一组像样例的数据都没有
总结
签到题也要看数据范围
涉及到数组就一定要 const 定范围,杜绝函数内开数组
关于异或的东西做的还是太少了
T4甩锅出题人。只要有大样例我就一定能在十分钟内改掉那个sb错误。
Day2 8:30~12:00
8:45写出T1并顺手写了个对拍,发现 \(n=1\) 和 \(n=2\) 时错了,回头看题发现 \(n\ge 3\)。昨天的毛病还是没改过来。
看T2,稍微思考了一下跑路了,8:55转T3,看到标题下面的那张大图就知道事情不对劲,果然,大%你。9:00问候着出题人的母亲看向T4,9:02看完没思路便滚了。这是我整场比赛花在T4上唯一的 \(2\) 分钟。
回头看T2,稍加思考发现,这东西跟树剖贼像,每个结点往下引出一个替换的儿子,其它所有儿子全部新标签页。特意画图思考了一下替换的儿子是否一定要是重儿子,发现不用,于是写代码过了样例。核心部分不到五行,我开始怀疑自己,但想到前一天T2的码量和紧跟T2的大%你,我放心了。
交上T2,此时是9:20。我不知怎地突然对大%你特别有信心,于是开始死磕T3。10分钟看完题,写了一个小时的代码,6个 if 套在一起,发现越写越毒瘤,于是重构,思路是分别暴力把平年和闰年的每一秒所耗电量的前缀和打出来。算了一下空间,两个长约 \(3.1\times 10^7\) 的 int 数组,240MB 左右,可行,开打。半小时后这两个前缀和的代码写出来了,一跑,时间 1.4s 左右,但当时已经是11:00了,我选择相信评测机,背水一战。
又过了20min,全部代码打完,一测样例,差 \(1\)。我当场差点把鼠标摔了。花了三分钟调整情绪,我开始仔细检查代码开头的存放单次转移所耗电量的数组,不查不知道,一查吓一跳,\(3\) 个错误。全部改正后我满怀希望地再测样例,仍然差 \(1\)。这次我倒心平气和了,我转回头去,企图再在那几个数组里面找出错误然后过样例交题做T4,哪怕写个最简单的暴力也好。
于是半个小时过去了。11:50,我面对的仍然是那份代码和与样例输出差 \(1\) 的那个数字,122240。此刻的我气定神闲,两个半小时的洗礼让我知道我终究是不能在考场上写出大%你的,即便我用了我所能写出最可读的码风。11:55交题,期望 20pts。
赛后
T1T2都没问题,起码比昨天好上了一些
测了几组T3的数据,错得非常离谱,应该是某块地方写炸了。至今没调出来。
想了一下T4,约20min就知道这是个最短路...我就不应该沉迷T3的啊啊啊
出成绩后
海星,T1T2没炸,T3也不出意料地保龄了。
总结
锻炼码力,核里分配时间,每题起码看半个小时
S2022
策略出现严重失误;思维太慢
A想到一半开始写,思路一直是对的,写到一半才发现要处理出前三大分数,还想着要分类讨论,后来发现根本不用。1h切掉。
往后看,瞄了一眼B是博弈论就管都不管直接跳过了。花15min看C和D,觉得D可做(记住这句话),又花15min思考了一下发现我会的暴力有60pts+,想出了只在链上跑的错解(当时还沾沾自喜地以为自己把D切了。实际上就是 \(k\le 2\) 的部分分)。
按照我的思路这题树剖套线段树就没了。然后开始写 pushup。然后调了1.5h。调出来后写线段树和树剖、调过样例共花30min。测大样例,找出来几个写挂的地方后仍然过不了,不知所措。从始至终都没想着把样例2画出来。直到比赛结束都没意识到自己做法是假的。
又花了15min。2h15min就这样被我轻描淡写地水过去了,最后的15min用来打C的[12,40]pts纯暴力。
很难描述出考场所有人一起告诉我“人均切B,这场一等线至少200”时的心情。
\(100+100+60+88=348\to100+0+[12,40]+60=[172,200]\)。
A思维速度原因切太慢。
D本来想着看多几个样例确定正确性再做题的。但是样例2的 \(v_i\) 太毒瘤,我脑子一热忘记自己有计算器这个东西,就过于自信没看这个样例。
有显然的高分暴力就应该先把它打出来以备不时之需。
一道树剖板子写2h30min是什么人啊。
pushup 调30min的时候就应该劝退了。太过执着真的不好。
过不去样例真的得先模拟一遍确认是不是做法本身有问题。
任何比赛所有题目都必须要看一遍,30min+。
S2023
摘要:最难绷的一集,再次被全机房爆碾
考前20min内灌了300ml美式特浓,导致开考的时候心慌、盗汗、手指在颤抖。监考密码 \(\text 0\) 写得像 \(\text O\) 导致连续解压失败 \(5\) 次。
所以T1根本静不下心来读题。写完之后被三连击了。
首先,没看见两个拨圈必须相邻。其次,“ \(9\) 拨动一个位置变成 \(0\) 或 \(8\) ”看成了“每个拨圈上都是 \(0\) 到 \(8\) 的数字”。改完之后还是过不去,结果是没看见“ \(n\) 个状态都不正确”。
这不简单,答案直接减掉 \(n\) 不就行了。于是我的 T1 获得了 \(40\) 分,到最后都没有手造数据去 hack 自己。
此时是 \(15:00\)。接下来一个小时,我的动作形如:想 10min T2,想 10min T4,想 10min T2,想 10min T4,想 10min T2,想 10min T4。然后打了 T2 的 \(50\) 分滚粗。
读 T3 并写了半个小时,感觉 T4 更好写就跑了。然后硬生生把 T4 想成了一个大模拟。
令 \(s\) 为结点 \(i\) 被种上树的时间点,\(k=\frac {c_i}2\),那么 \(i\) 的树长成的时间,就是满足
的最小整数 \(x\)。于是问题在枚举种树顺序后转化为二次不等式在指定区间的最小整数解问题,通法是高中方法,分讨 \(k\) 的正负,分讨 \(\Delta\),解出两个实根然后取个交集,特判一下左右端点重合,再处理一下答案超过 \(10^9\) 的情况。我他妈真这么写了。2h 拿了 \(5\) 分。考试结束了。
😂
GDKOI2024
看到几个摄金、难铜的,补个守银。
难的过于难且部分分断层严重,简单的过于简单。
保底分实际上是 \(20+60+10+100+45+20=255\) 差 \(5\) 分,想到 D1T1 状压、D2T2 Poly 或者 D2T3 高斯消元即可摄金。我没写高斯消元,D2T2 \(45\) 的矩乘都没想到,D1又挂 \(15\) 导致 \(245\) 分,遗憾守银。
所以这场就是比谁挂的分少。D1T1 没背网络流板子导致没仔细想是我的问题,其它就太降维了。
另外学校挺好,比我校大。
NOIP2024
家里蚊子半年没出来,这次害怕我考试迟到特意3:40把我叫醒,快说谢谢文字😀开T1,没睡醒,胡思乱想,想什么一个连续段的贡献是 \(\min(c_{a,0},c_{b,0})+\min(c_{a,1}+c_{b,1})\),然后把 \([1,n]\) 拆成可自由交换的连续段每次从右端点靠后的段掏一对 \((c_0,c_1)\) 出来,BYD好像都要枚举,BYD直接dp好像是 \(n^4\) 的,BYD优化个蛋??往后开,T2怎么BYD这么多数学符号,T3怎么题面BYD这么长,电棍笑传之 8:45 开T4,诶这个 \(\ge k\) 诈骗实际上是 \(=k\),诶怎么白送 \(32\) 分??想链,区间滑动窗口最大化 \(\min\),这不二分一手加可持久化直接做??不过要写估计得个把小时,调不出来就悲剧,9:10 回看T2,诶怎么又是神秘计数dp完了完了考前没有特训,诶 \(n\le 10^9\) 完了完了是不是要对极长 \(b_i=a_{i+1}\) 连续段dp加上 \(m\) 个关键点分讨然后矩乘优化啊,诶不对好像各关键点间决策是独立的,诶这不是总 \(-\) 不合法 \(\mathcal O(1)\) 计算直接相乘就行了??中间系数搞错只能过 \(v=2\) 差点吓死以为真要 dp,好在 9:40 过了开T3,不是你第一页给那么冗长的点 dfs 定义全是废话??读完诶怎么是类树同构Adhoc思维题,打开部分分无从下手完了完了毫无头猪怎么办,诶菊花很漂亮不如对菊花下手🤓诶先写个指数暴力顺便骗点分找点规律说不定能直接把菊花答案盯出来🤓👆诶暴力怎么挂样例二了😱调搜索静态十分钟没找出错,气血上涌睡意全无,简称红温😡厕所呼吸新鲜空气调整状态,10:10 回看T1盯那个 \(\min\) 的式子,诶你说这个东西,放到每个 \(0/1\) 数字上看它无论在哪匹配都是 \(1\) 的贡献,你留着它干嘛??这dp个蛋你当场把靠后段掏出 \(0/1\) 贪心匹配靠前段,不就结束,一个完美签到??对啊你留着它干嘛啊??你留着它干嘛???(考场叫出来了被监考盯了一手)11:00 马不停蹄冲T4,诶这个可持久化写起来非常麻烦,诶整体二分是不是就不用可持久化了🤓👆诶平衡树操作更直观,诶平衡树操作常数是否太大了点,这 \(\log^2\) 2s5e5 天方夜谭啊😱好在确实好写(迫真)40min 怒拿 \(16\) 分,10min 打完 \(32\) 准备强碱这个Traverse🤤首先发现模拟题述操作的逻辑有误,改成先行把每条边的邻边顺序全部 shuffle 然后唯一策略,过样例,复杂度上天但是不用管,我只需要狠狠的用暴力插入菊花🤤\(n=4\) 答案 \(2,3,3\),\(n=5\) 答案 \(6,10,12,12\),好像差分很有规律!接着跑,跑 \(n=6\),🐎的怎么出不来,会不会数组开小,没小啊,打个搜索的表看看,诶怎么操作次数如此巨大,卧槽我复杂度高达 \(\mathcal O((n-1)!^{n-1})\) 且菊花正好卡满!!!这下好似!!12:30,略急,只能手里捏着 \(12\) 分往上冲,部分分没一个会的,啥规律都找不到做个蛋??无他,唯有手艹菊花,诶怎么每棵树都是链啊,诶这个是对排列 \(\{(p_i,p_{i+1})\}\) 本质不同计数,诶这个容斥一下 \(\mathcal O(n)\) 算,诶和暴力一拼,诶考试结束了,\(100+100+28+48\) 滚粗。

浙公网安备 33010602011771号