HAOI2018游记

前言

很懒。
太懒了。
不只懒得写题。。连游记都懒得写。。
花点时间填一下坑吧。。不过话说我去年的NOI/APIO/CTSC游记也没写。。函数


省选前

板子好像一早就打完了,没什么可干的。
也不肯意开新题,学新东西更是不可能的了。就天天打打GTA和CR才维持的了生活这样子。
仍是有点慌的,HAOI会出什么样的锅?被退役了怎么办?
平时个人考试策略已经很是保守了,决定此次采用更保守的。
除了一眼秒掉又好写的题,其余题只写暴力,无论正解。
省选这个东西嘛。。进队才是最重要的。像去年同样,在HA随便打打暴力就进队了,今年就干脆把暴力分拿稳,队长什么的,不去考虑了。万一写了正解又是和暴力分同样怎么办?get


考试日,上午

去年的NOI教会我什么叫“心态第一”,决定此次按照本身的方法调整心态,只要心态不爆炸,最后1min翻盘都是可能的。
早上8:30开考,窝故意迟到了两分钟,而后一脸淡定地进场。
家长和教练等的很着急,教练不停地给我打电话我也没听见这样子。。估计都快急疯了吧qwq。
算起来省选时间很紧,只有3.5h,根本没时间考虑什么正解啊喂。。。搞得像NOIp同样,题又这么难,怎么可能写正解啊?
先看题,算暴力分。it

T1

嗯?背包?NTT?
显然不是啊。。。
指数级枚举好像有40分,先看看。
感受有点像数论,和gcd有关的东西吧?
是否是把裴蜀定理拓展一下啊?取全部数的gcd?(瞎猜结论)
(大力证实中。。。)
算了。。对于两个数来讲是对的,那应该没问题吧?
40pts到手io

T2

这个题和CF某个题很像啊?是否是随便构一个生成树出来而后选择一条路径反转啊?
假的啊显然不是。(脑抽ing)
仍是打暴力吧qaq。
考虑70分,对每个点列一个xor方程,直接用bitset解方程组就能够作辣~
咦好像要询问屡次?每一个点删掉以后询问一遍?
套个分治叭,感受过不了,不过60分仍是没问题的叭qwq。(脑抽ing)
60pts到手class

T3

这串串题怎么一脸不可作的样子啊?
先套个SAM,而后?而后?而后咋办啊qaq?
算了仍是30分暴力吧。。平方求LCP也是很好写的,就不用写SA了。
不过这数据范围这么鬼畜。。是否是低复杂度暴力能水很多分啊?
若是有时间就写写SA吧,不过T2的分治码量这么大应该是没时间了。。
30pts到手
这样算下来有40+60+30=130pts,感受仍是凑合的,队长是没戏了,进队应该绰绰有余吧?
开始写。循环

T1

写完了40分暴力,过了大样例,结论应该没问题。
想一想后面的分数?能不能DP?
选取子集的问题怎么DP啊?确定有高妙的作法。(脑抽ing)
还剩2hmap

T2

2h的话应该足够写完调完线段树分治+线性基了吧?
要否则这个题怎么写。。我这个思路除了这一档根本没什么分啊?
硬刚吧。。。
(30min后)
好像真的和CF那个题是同样的。。确实反转路径就能够了啊?
我刚刚在想什么啊。。。怎么肥四啊。。。
那这个题不是BFS就没了?线性的?
噢还有屡次询问啊,那继续套分治+并查集,果真仍是有log的。
这个并查集维护的东西有点多啊。。如今只有1.5h了。。就算1h写完也不必定调出来啊?
这样算起来70pts的平方暴力仍是很好写的,n遍BFS就能够了。
过了大样例,70pts到手。gc

T3

大概还剩20min,不写SA了吧,这作法细节好多的啊?
很快写完了平方暴力。拿到30pts。
而后延长30min。。。
要是早知道延长30min我就写T2正解了啊喂!
还剩40min,搜刮一下其余的分数。程序

T1

噢好像确实能够DP。。。我刚刚怎么回事啊?
不过DP的话要把当前的gcd压进状态里面,复杂度O(np),有60分了。
能够把p的因子都取出来,不过写map要多一个log,还有点复杂,时间不够了算了吧。
最后还有个p=998244353白送的10分。
这样T1就有70pts了,拍了一下没问题。方法

T2

就剩5min了。。慌慌张张去拍T2。
先写了个指数暴力,又写了个数据生成器。
生成器写起来有点麻烦。。由于不能有重边自环什么的。。不过这个对个人程序没影响吧?
这时候考试刚刚结束。。赶快拍!
WA。
???我大样例都过了啊?
再拍!
TLE,死循环了。
??????咋回事啊????
看了一眼数据,好像是有重边自环的点我挂了。不过个人程序不是能处理重边自环吗?
算了。。70变0。。。出考场了。。


考试日,中午

这样算下来只有70+0+30=100pts,仍是挺危险的吧?
下午打稳暴力就行了。
imone说他前两题都会作,T3写了SA的低复杂度暴力,不知道能骗多少分。
“至少有60吧?”我奶他一口。
“那你上午就有260了,tql!”我又奶他一口。
吃饭的时候心态爆炸。。脑子飞速运转,考虑T2到底怎么挂的。
后来终于考虑明白了。。个人程序在处理重边自环的时候确实会出错。。
并且根据我上午的输出来看,错的符合个人预期,那应该是没问题了。
即便是这样,imone仍是吊打我90分啊?
Mike安慰我,让我下午翻回来,虽然我知道不可能,但仍是答应了。
听有人说T1是什么莫比乌斯函数。。好像有点道理啊?为啥我想起来因数的时候就没往这方面想啊?


考试日,下午

和去年同样,到场还没开考,上午的东西没删,先拍上午T2。
(我去年也是到考场以后先拍上午T2 qwq)
没问题了,放心了。
开考,看暴力。

T1

这个题意。。这个范围。。。
除了平方DP还有什么作法啊?
并且彷佛除了平方DP,也没什么作法能拿分了啊?
三次方怎么写啊?这数据范围是搞笑的吧?
除了100分就是20分,并且这20分的暴力还这么难写,固然是写100分。
虽然我很不擅长数数,可是就是要硬刚。
硬刚以前看一下T2叭qwq。

T2

yql给我讲过一个相似的题,这种题都和w[k]不要紧的,确定是先对于每一个k算出来以后再乘w[k]。
因此我先枚举k,而后怎么组合一下?
怎么组合啊,好难难啊QAQ?
这个模数有点奇怪啊?是否是NTT模数啊?
果真是。。这要么是烟雾弹,要么真的是多项式。
生成函数?假的吧?
脑子好乱,不会,告辞。
基本肯定了策略,先去猛刚T1,而后来T2随便拿一点暴力分。
顿时慌了。。这T1要是刚不出来,基本上下午就爆零了。
不过数数也没几我的擅长吧?估计你们都是一丁点分数。

T1

推了很久式子,没任何进展。
原本是16:30结束,我记成了16:00结束,慌的一批。
不敢乱猜式子,极可能猜过了样例就FST。
只但愿作完这个题以后还能给我留0.5h写T2暴力。
搞了半天,搞出来一个式子,过不了小样例。
手算了一波,发现真的过不了,就开始对着样例调系数。
瞎换了一波系数就过了大样例。。。
顿时感受栋栋挺真的,他当时给我讲《51nod 排列合并机》的时候,就说是本身瞎换了一波系数就过了,原来这种操做真的存在。
数数题过了大样例拿头FST啊,确定AC了啊。
一看表发现离比赛开始才过了50min,十分舒爽,原本这个题预计2h作完的。
就好像打CF Simulator的时候,忽然过了某个题同样23333。

T2

继续,首先枚举k,而后呢?
刚好出现k种颜色,是否是能够广义容斥啊?
(瞎写了一个容斥式子)
那是否是套一个NTT就没有了啊?
板板讲过的!广义容斥套NTT!讲过好多遍!
但是我一遍都没听懂啊QAQ?
后悔没好好听课。。。
(苦涩.jpg)
而后开始慢慢推容斥变NTT的式子。
推了半天推出来一个,这玩意儿对不对啊?看起来挺靠谱的。
这时候还剩1h。。若是这东西写上去写挂了,确定是调不出来了。。
首先我容斥式子不必定对。。其次我NTT式子不必定对。。再其次我NTT还可能写错。。。
决定先写平方容斥,先无论NTT的部分。
发现直接平方容斥有50分,仍是挺良心的。
写完以后果真过不了小样例,继续手算,而后对着样例调系数。
调完系数就过了大样例,爽啊。
这时候只有15min了,把这个代码备份以后,开始疯狂地码NTT。
NTT部分感受不是很难写,也就是把式子写在代码里而已,可是边界问题仍是值得考虑的,虽然实际上根本不会出现问题。。。
而后延长了30min,爽快。
写完以后过不了样例,发现是NTT写挂了,NTT改对以后就OK了。
这时候已经16:45了,幸亏延长了半小时,AK辣~
而后开始担忧边界问题,诸如n=0,m=0,s=0之类的,试了好多,又考虑好多,感受没啥问题。
又造了点极限数据,也能跑得过。
而后下午就结束了。


考试日,结束以后

imone果真不会下午T2,意料之中。
Cydiater打野刚考完的时候知道我AK了还D了我一波,没想到他也AK了,强啊。
下午几乎没人A题,基本上得分都是20/30/100,看来数数题仍是没什么人会啊。。。
而后就是评测,又是各类锅什么的。。我写在知乎里了。
戳这里https://www.zhihu.com/question/271131295


结尾

看了榜,以为此次HAOI高手仍是挺多的。。再也不是菜鸡互啄了。。彻底暴力也进不了省队了。。 Primy退役了。。很难过。。却也很差说什么。。他大概是不会买D吧。。 不少人都退役了。。。毕竟省队只有这么点人。。皆大欢喜是不可能的吧。。

相关文章
相关标签/搜索