NOI2021同步赛游记
Day 0
本来想在家休息,结果家里没饭,强制被拖到馆子里恰。
恰完了还不准回家,到 hhy 大桥上来回走了一趟,百度百科说光是主桥就 1000+ 米,随手毛估估起码 5000+ 米,走了 1h+,然后人累傻了。
事实证明人在过于累的时候无法集中注意力打游戏,回家就开了把 D5 ,军工厂被一个先知吊着溜,不过不知道哪来的段位保护卡?反正不亏。
Day 1
早上来的挺早,然后果然被 €€£ 鸽了,先是“提前 -5 分钟”,然后是预计还有一天下载完成的题面压缩包。
U 群老鸽关键时候还是强,同学直接在 U 群上嫖了一份发过来。
打开题面,1 GB 格外扎眼,有 -std=c++11 还不戳,std::deque 风评被害。。。
然后就直接开题,翻到 T1 才意识到题目名字不对劲,看了眼题面更不对劲了。
第一个操作读完手就准备开始敲 LCT 了,不对,后面还有两题没看。。。
T2 瞟了眼英文名称挺奇怪的,题没仔细看,有图就感性理解了一下,但一看到 998244353 就知道不可做了。(一个大质数给爷整笑了,就算是个小质数我也不会来做的)
T3 读了几遍没读懂,可能会经过多少座城市,您加点有个用,倒是解释一下啊???看了样例勉强看懂。
这时同机房大佬 jerry3128 已经动手开打了一会并且键盘声音小了下来,吓得我以为它 T1 都已经敲完了,实际上他 10:40+ 才做完 T1((???
jerry3128 数据结构的神!
接下来是心态炸裂的一早上:
回首掏 T1,看眼我 LCT 的直觉准不准,想了想觉得很可做,我仅有的 DS 里面其他的都不好处理链儿子清空。
首先把儿子到父亲的边丢到儿子身上,LCT 把一条链掂出来后就是个子树赋值,直接连着的虚边感觉随便搞个标记就行。
打了打感觉如果要换根的话我的权值好像贼难搞,还是定根 LCT 好处理,但这样就只能用 Access 了我屮艸芔茻。
一口气写到 Splay 毫无压力,留着 Access 和修改查询过会写,先把主函数写了。
写了一半,怎么有多组数据啊我艹,毒瘤!(心情逐渐糟糕
加个清零继续写(此时我还没意识到事情的严重性),然后一口气写出三个 Access,其实只写了一个复制了两个。。。
毫无悬念的过不了小样例,一个一个改,艹这小样例好水啊。。。
然后大样例直接挂成狗,第二个询问就没了。
接下来就是毒瘤的抓虫,什么标记写挂,Access 写挂,标记又写挂,标记再写挂,标记你 TMD。。。
标记挂着挂着程序直接 RE 了,搞了好久都不知道为什么,打了棵换根的 LCT 来对着改,感觉没什么问题,搞着搞着没 RE 的换根 LCT 都被我搞 RE 了。。。
又写了份暴力,然后暴力跑第一个大样例挂了????
还挂得和我 LCT 不一样,心态直接裂开,生气地去恰午饭(lj €€£ 霸占我午饭时间
打不开,全是油,还不好弄开,wdnmd,你mlgsb#&(^
骨头还没地方放,回来生气的看了眼 RE 的 LCT。。。生无可恋
微笑着面对!呸,立个旗子先!
好继续,我直接写不把边权放在儿子上的暴力,然后一发过掉,我直接问号脸。
不过还好我可以对拍了,然后 windows 下熟练的写了份对拍开始暴力拍暴力 。n=5,Q=1,两组就挂掉。。。
看了看发现是两端没清儿子,不对啊我 LCT 是对一棵 Splay 搞跟两端有个锤子关系。
然后两种暴力互相能交手个
以为是什么地方越界了死循环 RE,结果找了半天发现是真的父亲变成了自己?
陷入沉思.jpg。。。我修改也没写挂啊,是不是有什么没清?不对啊全都清了。。。
然后:
int i;
for(i=0;i<=x;i++)
{
ls(x)=rs(x)=pr[x]=sm[x]=sz[x]=vl[x]=tg[x]=cg[x]=ft[x]=0;
lc[x]=0;
}
tot=0;
屮艸芔茻茻茻茻茻茻茻,我 tm 怎么写的 x 啊啊啊啊啊啊 sm 玩意!发现清空都是复制的全部挂的一样。然后改了还是过不了大样例。。。
算了我也没指望能过大样例(此时3h+过去了)
我不是反向毒奶老准了吗,这次要失手了吗,不行我还有 1h+,我还能刚!
打回 T3 暴力换心情,好像可以随手打
过个小样例回来搞 T1,发现了 LCT 的经典错误,虚儿子标记位置打错,必须要打在树子树的根上而不是 Splay 的根上,改改改发现权值也改错了得改树子树的根而不是 Splay 的根,顺手一起改了。
毒瘤 Access 还是快乐加倍有 3 个,一个地方挂了改三次,虚实切换还要两倍的改。
三个还不完全一样,各有毒瘤处,不过前面踩过一圈雷,再加上对拍效率还挺高?
几十分钟把前几个小时的毒瘤全改完了,一口气把大样例测到 edge5.in:
正在比较文件 _.out 和 EDGE5.ANS
FC: 找不到差异
--------------------------------
Process exited after 0.6732 seconds with return value 0
请按任意键继续. . .
我c,不对不能骂,我好 TM 感动!
丢到旁边对拍一直拍 n=5000,Q=5000,没有问题!
还剩 1h-,T2 暴力怎么打啊?
要不我去打 T3 Tarjan?艹网站怎么炸了mlgb
等了一会把 T1,T3 交了上去,给自己留了 5min 把 T2 的大样例敲上去,T2,T3 遗憾(?)抱铃。。。
其实 T1 常数挺大比较慌,下来听 jerry3128 吹只有在 LCA 处有两条边,其他都只有一条,于是直接用实边代表 1,加个 extra 边把 LCA 的边补上就行。
有道理,我 TM 为什么要把边权下放到点上啊???
然后就是什么 jerry3128 DS 带师 40min+ 调出 T1,什么 _Enthalpy ak 了,zzw4257 在机房咆哮(用词不当还请见谅),fangzhijian 还在看考完了的 T1(这几个隔我近点
下午回去躺了躺,感觉打点暴力人均
为什么我 T2 看到奇偶、逆序对不想行列式(sto jerry3128 考场手推 LGV),为什么 T3 连 Tarjan 都没打(其实是最后忘了)
但我不刚 T1 ,暴力一挂说不定直接 100-?
只能说庆幸这次 T1 让我一眼就会,也不幸我明知可能毒瘤还只能硬着头皮上。
站在 D1 上我就已经输了,不打铁算好的了,D2 的事 ... 就 D2 再说吧。
orz,@_Enthalpy 2min 教会我做 T2。
首先考虑
发现和行列式的定义一毛一样,就是邻接矩阵的行列式的值!!!
再考虑
前面的就是简单的路径相连,即
orz,@fangzhijian 河里归纳 T3
首先缩完点是棵树,然后枚举每条新增边走几次,至多两次,再枚举顺序,求个并就是答案!
根据_Enthalpy rk1大佬的做法,求并直接上树剖,求
Day 2
昨天晚上 T1 复杂度假掉,常数还大,赛后 5min 秒了 T2,感觉十分不爽,T3 还是个缩点+毒瘤枚举题,会口胡后做都懒得做了。
过去了就不管了,日常刷 AGC&CF。
中午 generals.io 创了张图,适合(且最好恰好)四个人玩的图, 自我感觉名字取得挺不错!
哦,恰完饭还整了个活。
Day 3
裂开了,考完就总结一下吧。
Day 1 没做出来 T2,不该,T3 不写,不该。
Day 2 T1 随机化随便过,我写暴力,T2 我想写块链,没写出来。
得分总和:100+0+16+28+45+8=197
挂分总和:0+100+84+72+55+0=311
行吧,TMD 挂分比 lz 得分还多。
题目总结
Day1 T1:做麻烦了
Day1 T2:见上,评价:就这没想到
Day1 T3:见上
Day2 T1:写的很好。
Day2 T2:块链,块链,块链
Day2 T3:未知