Day2019.7.29:
在鸽了许久后,我终于过来了…
然而课已经上了两天了…
Day2019.7.30:
早上很早跟着qt大佬起床了,然而还是没抢到什么好位置…
早饭看起来海星啊,但是为什么感觉人有点少?看起来不需要起那么早…
看起来今天课表没变,还是组合计数.
啊抱着再次听挂的心情挺组合,果然又挂了…
容斥原理只会理论,虽然感觉这玩意也只需要会理论就够了…
min-max容斥只会背式子,虽然感觉证明也挺简单的…但是我不会用啊.
果然我的数学部分不行需要补补…
中午午饭吃团餐,感觉真是一个错误的选择…
下午继续,感觉讲了很多很杂的东西,反正没听懂多少…
晚饭实在受不了团餐了开始点外卖…
晚上感觉上午讲的组合实在不适合我这种辣鸡,开始复习一些基础组合,推了几个组合恒等式…
Day2019.7.31:
今天是ACM赛,即使昨晚有些爆肝还是很早就起来了,大概7:30的时候就开始屯板子了.
大概8点队友都还没到,有点慌了赶紧发QQ催…然而比赛是8:30的.
8:30的时候发现自己并没有比赛地址,然后一直在瞎问…最后发现群上有地址…
然后发现比赛并没有关网就直接把屯的板子删了…
看A题发现是个CRT板子,直接贴了个板子上去然而还WA了,盯着板子看了5min没看出错就准备再试试,然后发现自己交错语言了…
看B题发现这题好像挺好搞的,好像只要转个01背包就好了然而写了很久…
然后开始看C题感觉不会,看着队友在看D就跟着看D了然而还是不会…
看F题做的人比较多,lsf说他会一个比较假的做法就让他在那里写,跟着yjh找字符串题找到了G,然后发现自己并不会…
看了将近1h后果断放弃去看一下有没有大数据结构,看到H发现貌似是个经典的均摊线段树,然后发现多了个操作并不能搞…
想了一会之后突然发现不用均摊,而且貌似每个操作都可以搞,然后发现自己不会处理多个标记同时搞…
最后放弃了跟yjh看A的人比较多的I,然后发现这不就是个简单题么…
然后旁边队说这玩意不会有环就赶走了正在调F的lsf写了个无环版本的I,然后交上去WA了…
细细一想突然感觉不对,题目没说不可以等于啊,那不就可以有环了然后迅速去码tarjan缩环.
调了半天之后还是不会,突然旁边队说有多组数据,然后就又去补多组数据…
交上去还是WA,突然yjh跟我说为什么要把每个连通块分开呢?然后跟我说了另一种拓扑序,然后突然发现自己的拓扑序好像是假的,于是又开始换拓扑序.
最后终于A了,然后就开始在一旁看yjh调lsf写的F题,调到比赛还剩15min的时候才A…
WA为什么大家都这么强啊怎么都有人AK了啊我好菜啊…
下午讲评,发现好像好多简单题都没怎么看,果然基础题不会做啊其实就是菜.
讲评D的时候我突然想到这玩意貌似可以真的完全在线,好像只要转化为统计方案数然后生成函数+多项式卷积和除法就好了?
Day2019.8.1:
上午讲网络流,突然说这次主要注重各种正确性和复杂度的证明?!
然后就好好听,前期听得好好的,但是后期的话果然还是又犯了公示恐惧症…
WA一个早上就讲到Dinic咋写?下午的序列数据结构呢…
然后,序列数据结构就鸽了…
然而后面的网络流逐渐神仙,我好像已经不可能上线了…
然后就真的没上线…
Day2019.8.2:
早上讲DP,开始时是一些很清明的DP,大部分还是听懂的…
然后开始讲DP套DP,逐渐掉线…
最后还有一道二分答案后DP验证,据说DP还可以换成Mobius反演…
下午是树上数据结构,感觉都是一些还可以听懂的基础题.
Day2019.8.3:
上午的数论讲的是个啥,我怎么数学相关的一听就挂啊…
下午好像是数论的东西,但是我去咳嗽复诊了所以鸽了.
Day2019.8.4:
模拟赛第一天.
开考后感觉人很困,在那里迷迷糊糊看题看了1h,顿感三题不可做.
然后开始想T1,感觉是一道很CF div2 C或D风格的题,于是开始疯狂分析题目的性质.
然后发现一个结论是 k k k个 a + 1 a+1 a+1可以替换 1 1 1个 a a a,可行的条件是有 k k k个 1 1 1,但是感觉并不好写,1h后觉得用栈比较好写就写了0.5h.
然后开始看T2,以为可以大数据结构疯狂写0-1 Trie写法的平衡树,写到后面发现自己不会写前驱后继…自己yy了0.5h之后终于会写了,然而发现做法貌似假了心态爆炸…
然后十分老实地敲了个22pts的暴力,没拿到42pts是因为在心态爆炸的时候把题目中区间不交的条件忘了…
最后0.5h的时候已经身心俱疲放弃希望,颓到考完就去恰饭了.
回到房间一看100+22+0=122,WA我好像是10+名,感觉考得海星啊…
下午讲评并没有听懂T2和T3,在神仙hxc的教导下终于搞懂了T2.
Day2019.8.5:
根据昨天的经验,我只需要A一题就稳了,不A题就凉了.
然后开T1,发现题目两棵树叠起来,条件一大堆,还是个最优化问题.于是开始了树DP,列了一个 O ( n 3 ) O(n^3) O(n3)的状态 O ( n 5 ) O(n^5) O(n5)的转移,还需要两棵树心态相同,遂放弃.
然后看T2,发现自己并不太会,看T3也没什么思路,但感觉可以比T2拿更多分,然而还是A不了题…
重新回去看T3,0.5h思考后,突然想起一个套路,看见条件限制一堆而且数据范围很奇怪的题一般是网络流,于是yy了一个费用流模型,然而自己并没有写过费用流.
但其它两题没什么思路的情况下,就只能硬杠T1的费用流,然后花了2h写了出来.
然后码了个对拍把自己拍死了,对着拍出来的数据画了一下后发现图建错了?幸好只需要把一个点拆成三个点就OK了,于是调了1h之后就拍上了.
然后看T3,发现好像可以线性基,还能拿51pts,于是画了20min码了一个线性基,过了样例就去看T2.
此时时间紧急,最终没能码完T2最低档的暴力.
最后成绩出来后,发现自己线性基挂了只有28pts…
不过还是拿到了100+0+28=128,虽然排名相比昨天掉了,但是至少还能涨rating…
最终调出来是个sb错误,而且还是在ZJOI2019D2T1犯过的一模一样的错误,就是压位压错了…
Day2019.8.6:
根据前几场的经验,开场直接杠T1,画了0.5h想到一个可行的解法但是细节极多,码了1.5h才过样例.
然后看后面两题,突然开始犯困,感觉两题都不能做…
迷糊了1h之后看T3,想着貌似40pts的部分分可做,20pts的链好像也可做.
于是开始码T3的40pts,突然发现做法各种假,不过想到了一个set+树形DP的做法可以挽救一下,但是码到最后还是没码出来…
然后就GG了,拿到了90+0+0=90的高分…
然后就掉rating了qiao难受…
然后在晚上疯狂调T1,然而那10pts还是拿不到…
Day2019.8.7:
开场看T1,发现这好像可以列一个简单的DP方程,然而由于没有看到 m , p m,p m,p的数据范围是可以让 O ( m p ) O(mp) O(mp)过的,于是疯狂想 O ( m log m ) O(m\log m) O(mlogm)的做法,最后貌似想了一个有点假的贪心做法.
然后被yjh提醒了一下数据范围,发现貌似并不需要很复杂的贪心,只要把DP方程斜率优化一下就好了,然而突然想起自己没写过斜率优化.
回忆自己前两天的那场比赛是如何现场yy出费用流的,突然很有信心,开始考场杠斜率优化DP.
2.5h后,终于通过枚举维护凸壳方向并用暴力对拍判定得到了一个正确的代码…
然后开始看感觉更有想法的T3, 思考出 f ( i k ) = f ( i ) f(i^k)=f(i) f(ik)=f(i)的式子,于是想到了倒序枚举 k k k从 log 2 n \log_2^n log2n到 2 2 2,把所有 i k i^k ik塞到一个set里,并在map里存一下对应的应该减去的贡献,可以做到复杂度 O ( ( T + n ) log n ) O((T+\sqrt{n})\log n) O((T+n)logn),拿到了40pts.
之后看感觉最不可写的T2,看了0.5h之后想到2-SAT,但是初始的局面很难搞,于是花式乱搞,搞完之后发现后面的判定貌似用不到2-SAT,于是想到了一个看似正确的假做法,在最后10min内写完之后第二个样例都没过交上去得到了50pts的高分…
最后结果就是100+50+40=190,貌似还挺高的一个分数.
下午讲评的时候发现T2的很多假做法都拿到了50pts,而且还有通过各种判断得到100pts的…
Day2019.8.8:
国际惯例先杠T1,想到了一个用双指针,并维护在两个指针之间一个背包的做法,要写一个支持头部删除尾部插入的背包.
想起这个东西好像几天前的ACM里有,说是两个栈维护的来着,虽然没写过不过自己yy了一下搞出来一个 O ( n m ) O(nm) O(nm)的做法就交了…
然后讲评的时候说这个做法是标准做法,但是有更简单的做法,用这个做法的只有寥寥数人…
没事AC了就行…
然后看T2,感觉怎么贪心都是假的,只想到了一个30pts的做法,不过我想答案应该不会是要枚举到很大的情况,所以特判了一下只枚举到最多5000*5000,然后拿到了40pts…
然而正解就是一个十分神奇的贪心构造,只是我不会…
后面1.h5全程杠T3(一道提答题),花了0.5h看懂这些东西都怎么用之后写了10pts的子任务后就写不出来了…
最后总分是100+40+10=150,感觉还行吧…
Day2019.8.9:
开场T1,看错题1.5h后再yjh的解释下终于看对了T1,发现是个简单题0.5h搞完了…
后面发现T2可以状压,但是转移极其难搞,感觉先写T3比较好…
然后两道题连暴力都没写出来,因为暴力实在太难写了…
总分100+0+0=100,考崩了掉了好多rating…
Day2019.8.10:
有点睡过头了迟了半个小时…
开场康T1,一开始没看懂题目的数据范围以为直接状压就可以了,然后细细一看,哦状压是 O ( 2 2 n ) O(2^{2^n}) O(22n)的…
然后开始想怎么做,想着压操作序列,发现这跟暴力根本没区别,果断放弃…
看T2,一看是个组合题我肯定不会,然后开始想着枚举最大差后再枚举最小差,发现并不好做,暂时放弃看T3.
然后发现T3根本不能做啊,暴力都不太会啊果断放弃…
发现这场爆蛋了啊好事可以继续睡了…
回过来看T3,仔细思考一下后发现大暴搜第 i i i层的复杂度是 O ( 3 i ∗ 2 n − i ) O(3^i*2^{n-i}) O(3i∗2n−i)的,算了一下这个就等于 O ( 3 n ) O(3^n) O(3n),可以过50pts…
然后细细一思考,好像打个表可以变成80pts…
于是就写了,拿极限数据一测跑了2s+,有点慌随便写了两个小优化变成1s…
然后开T2,发现好像可以暴力DP拿到40pts,写掉后看T3.
本来想着T3怎么着还能拿个20pts的,然后发现暴力连边极其难写还容易出错,还是回去看T2吧…
然后盯T2盯到考完都还是40pts…
最后总分80+40+0=120,感觉海星吧…
Day2019.8.11:
睡过头了GG…
Day2019.8.12:
打了一套假快乐题…
T1列出了一个十分正确的状态,但是转移十分繁琐而且还要输出方案,感觉写这题相当不划算,然后又写不出暴力,果断放弃.
T2是个线段树上算写东西的题,想了很久还是只会30pts的暴力,先写完去看T3了.
T3是个字符串题,暴力KMP有60pts就先写了,然后发现好像就是个SAM+LCT但是具体要维护什么信息还是想不到,然后就GG了…
最后总分0+30+60=90,怎么又考挂了啊…
Day2019.8.13:
开场看T1,发现又是个字符串题,然后发现建个SAM暴力枚举可以拿到60pts,但感觉SAM建出后缀树就能A了,但是题目中有个字典序最小的条件需要建出后缀树边上的字符,突然发现自己并不会搞这个东西…
强行yy 2.5h后,突然发现这个东西貌似非常好搞,迅速写掉看T2.
T2好像只要随便遍历一下整棵树再加上一点排列组合就能拿到50pts,然后去看T3.
T3怎么又是个数据结构上统计的题,直接写完30pts暴力走人.
再回来看T2,想了想感觉可以通过一些神奇的容斥做,但是想了很久也没有想出来,于是决定先去写T1的对拍.
T1的对拍写起来挺快,而且也没有拍出什么问题,所以再回来看T2.
突然发现T2的另外30pts部分分可以直接状压,然后调到考试结束也没调出来…
Dau2019.7.14:
今天是简单清新的DP,感觉都还可以听懂…
几个简单的背包DP和树DP都海星,区间DP与状压DP虽然有点难但也能够听懂,但是最后的几道神仙DP就挂了…