[toc]
@day -1@
听闻 THUWC 在 12 月举行的消息,突然就停了大概一周半的课(不过只有下午停课)。 (知乎提问:如何评价 THUWC2020 在 2019 年的冬天举行)
感觉之前半周还是校内训练,后面突然就变成了某机构的培训,然后就有点打乱安排了(因为那个培训是全天的,可我们只有下午停课= =)。
结果临行前突然告诉我带好笔记本电脑,说是去了过后用笔记本考,没有准备机子。 还说什么这次是非正式的,没有发奖,因为之前已经拿过了(那我去干啥的啊喂= =)。
然后教练跟我说去锻炼一下自己的考试技巧,看一下如果遇到抉择(写正解还是写暴力)的时候莽一下会得到怎样的结果。 好吧,就当我去划水的吧= =。
(其实我连游记也不大想写,不过教练要求我总结,我也没办法= =)
@day 0@
一大早起来坐飞机。
听说北京的气温低到了零下几度,令我这个南方人不禁瑟瑟发抖。 感觉在飞机上还好,甚至觉得零下几度不过如此,结果刚出机舱门就把围巾裹得更紧了 2333。 北方的寒冷主要体现在室外,一出门就感觉寒风嗖嗖刮,室内开了暖气所以室内反倒比南方温暖些。 (我是不是偏题了啊,不对我就是来划水的啊)
下午没有事情可以干,本来想出去玩结果不让出去。。。只好在宾馆复习之前还没复习完的网络流。 晚上出去吃晚饭感觉冷风迎面刮是真的令人印象深刻。
@day 1@
上午报道领狗牌。找了半天才发现那个正在维护的建筑才是报道的地方。。。 怎么结果胸牌上还是写的是清华冬令营2019啊。 竟然还送了一条围巾,早知道我就不带了嘛。。。
报完到后试机。据说试机题是 THUWC2018 年的原题,没见过,只能尝试现场切了。 第一题是个水题,排序后前缀和就没了。 第二题怎么这么像个线段树合并啊,写了一会儿不想写了,弃了弃了。 第三题好像是个字符串的贪心神题。看了一下已经 10 点了,于是叫醒了隔壁的 zjx 大佬,去楼下找 xmy 大佬一起走了。 (zjx:你看到那个yl的lk大佬了吗?我:我脸盲,认不出来。zjx:他的体型还是很有辨识度的。)
中午吃完饭,被告知我们要被迫咕掉合影和开幕式,在宾馆强制休息(不是吧真的要我划水划到底吗= =。。。我还以为可以去听听开幕式的精彩内容诶)。 不过心态看开了,也无所谓了。这种事情也不是见得少了。
然后下午开始比赛,我们要比正式选手晚 35 分钟开始比赛,也就是说 8 点比赛才完。。。 开题先看 T1,挺水的,lower_bound 一下就没了。写了一会就 A 了,大概才过 20 分钟。
然后开始看 T2,感觉像 lct 动态加边删边维护基环树。感觉挺恶心的,决定先去看看 T3。 然后看完 T3,花了半天读懂了题,然而只对链的情况(当然还有暴力)有一定想法,完全没啥思路。
然后就决定写 T2,写正解写到一半写得有点想吐了,然后把正解丢到一遍决定写拼盘暴力。 (比赛后想想感觉 D1 的策略还是不对。。。听 xmy 说他们考场有人 T2 写了三小时 lct 最后 AC 了来着,而 200 分比我 D1 分数要高 50 多分= =) (然而。。。到了 D2 我就觉得或许 D1 的策略也挺好的,如果 D1T2 也像我 D2T2 一样写挂了,估计我 D1 的分数就更不好看了= =) (此时或许应该尝试去洗手间呼吸一下新鲜空气?)
结果拼盘暴力一开始还好,后面几种还是要写树链剖分。写完,交上去,挂了,心态崩了= =。此时大概时间总共过去了一半。 然后就去肝 T3 去了,尝试从链的情况(只需要考虑每个点前面离它最近的点是否距离 > X)进行拓展,然后失败了。 想了 40 多分钟只多想出来 X = 1 的情况(只需要考虑每个点的父亲是否存在),突然意识到不对,感觉自己方向应该是错的。最后还是弃了 T3 去搞 T2 了。 (感觉自己又犯了跟 CSP2019D1T3 一样的毛病。。。没有正确评估一道题的难度结果死陷在一道题里面出不来了。。。)
首先 T2 修了点小 bug,总算把树的部分分过了。小小地恢复了一点信心。 然后决定写写 T2 的只有一棵基环树的部分分,然后写完,交上去,又挂了= =。 调了一会儿不想调了,弃题,去搞 T3。 (OK第三处策略错误,这个时候要么不去搞基环树的部分分,要么就把那部分的调出来,而前者在当时来看更好一些。不然白搭进去了时间又没有成果) (特别是,就是因为这个最后 T3 的链部分分写挂了都没有时间调试,比赛就结束了)
结果最后 T3 只剩下 8 分= =。 考完下来就感觉自己果然全程划水= =。
本来想说晚上去打一下 CF,结果回来就把这事儿忘了。划水划多了记忆都衰退了嘛= =。
@day 2@
依然延迟半小时开考。结果咕来咕去咕成了延迟一小时开考。
开题。看看 T1,一眼就瞄中了 n <= 15。嗯,是状压没错了。感觉像是 O(3^n) 的状压?但是又觉得这样没辙。 瞟了一眼 T2,发现挺像支配树的。再瞟了一眼 T3,发现 I don't need to think of the peach 题目有点长,果断弃掉回来看 T1。
从部分分入手。ai = 0 直接状压没问题,ci = 0 时转移时因为有绝对值 |x|,转移时需要考虑 x 的正负。想了想感觉当符号确定后,绝对值要么尽量大,要么尽量小。因此存 4 个状态分别表示 < 0 的 min/max 与 > 0 的 min/max。
诶诶,好像还有个条件诶。ai, bi, ci 的绝对值 <= 15?这个条件可以用来保证权值范围。除此之外,应该还会有用的吧?不然光是确定权值范围在 __int128 的范围内可以搞得更大吧。 然后想了想,当某个 dp 绝对值 > 225 时,ci 就对它的正负性无法产生影响了。 那么 -225 ~ 225 用一个 bool 标记是否能够凑出来,除此之外就用之前想的那 4 个状态转移就可以了吧。反正它也卡不满。
然后写了一会就过了,发现时间已经过去一小时了,有点慌。
T2 看起来很像 DAG 上的支配树,看来我不用去回想那奇奇怪怪的求支配树的方法了 2333。 想了一下感觉可以支配树上线段树合并,再仔细想想发现我可能需要边转成点来做,再想了一会证明了几个细节,于是就开始写了。 写完过后很自然地过了样例,然后交上去,又又挂了= =。只过了中间 a 是 b 的父亲与 n = m 的两个点。
调了很久,并没有发现哪里有问题。用相同的思路写了个暴力代替线段树合并,还是没有过第一组部分分。 再暴力一点,写了一个直接在支配树上打标记然后 dfs 的程序,结果还是没有过。什么嘛= =。。。 (可能是因为我都是用静态查错的原因?也许那时候应该写个暴力试试对拍)
看了一下,还剩一个小时半了,控制自己继续调试的欲望强行换到 T3。 分析了一下冒泡排序的本质,大概就是如果前面有比自己大的,交换到前一个位置;否则交换到第一个比自己大的位置的前面。 反过来的话,我只需要统计有多少个 i 满足 pi 是前 i 个大的(记作 cnt),并检验最后 k 个是否依次为最大的,第 2 大的,...,第 k 大的即可算出最终答案。 推了一下如果知道 cnt 就可以 O(1) 算。
然后写了一个 O(n^2) 的计算 cnt 的程序,发现没有过样例,然后发现我需要特殊讨论已经全部有序的情况,此时它排序过后的结果仍然为自己。 简单地过了 20 多分吧。链的情况想想应该可以用线段树维护之前第一个比它大的位置,树的话感觉和链差不多,只是需要讨论折线型的路径。 一想到要讨论,我就想起了昨天 D1T2,然后就开始想吐= =。。。
然后决定继续划水,硬刚 D2T2,结果比赛结束了也没刚出来= =。
下午终于可以出去玩了,不过只限制在了校园内玩。 本来想徒步走一下校园的,结果走一半脚就开始了有点酸,决定去搞一辆共享单车骑一骑(感觉很新奇啊,我们学校周围一辆都没有)。 好像几年没有骑过自行车了,好几次都差点和别人撞上了www。
顺便吐槽一下我的垃圾 iPhone。。。突然关机不说,开机过后直接从 50% 的电量降成 10%,而且以我肉眼可见的速度直接降到了 5%。。。 本来还想边听音乐边骑自行车来着。。。看来是自己想多了啊。。。 最气的是,当我拿回酒店充电重启后,它竟然跟我说还有 45% 的电???
@day 2+@
貌似改名叫 day 3 了?不过我还是取这个名字吧。。。不然容易被误会。
打开资料一看,嗯?这一次是 cache 专题啊。难不成有卡常题。 花半小时理解了一下基本概念,然后看了一下材料结构与题目安排,貌似 T1 是独立出来的而且是很恶心的大模拟,T2,T3,T4,T5 是一步步深入的题目,后者依赖于前者的实现。 果断放弃 T1 去写 T2~T5。
T2 是个模拟的杂烩,还好每种类型的部分分都有样例可以测。写了写就通过了除最后一个部分分的所有数据,最后一个部分分貌似还没有比较好看的实现方法。 然后决定先写 T3,然后。。。发现自己还是重构一下 T2 的代码比较好,不然之后的部分分没办法用啊喂。 把 T2 的代码重构得比较好看过后,发现自己按照它说的流程来好像不大对。再三确认过后我发现自己把 cache 和 cacheline 的概念搞混淆了。。。T2 只有一个 cacheline 所以没有问题,但是 T3 有多个 cacheline。。。 然后写写写终于过了,然后决定先把最后一个部分分拿了再去写 T4。
在写 T4 之前瞟了一眼 T5。好像还有一篇附加论文? 点开一看。woc 怎么都是英文,woc 怎么还有 36 页,再见再见。于是要做的题中划去了 T5 的选项。
最后写完 T4 还剩 10s,打算不测了,直接交。 然后交了,然后 CE 了= =。。。
@day 3@
带队老师为了以防万一,让早点起来看有没有通知面试的电话打进来。 结果自然是没有。除了已经得过了以外,毕竟我还在全程划水,这种事情怎么想都是不可能的啊= =。
下午订的机票,发现自己又不得不咕掉闭营式(woc 这样太划水了点吧。。。)
回去之后问了问一等约的 xmy 大佬 D1T3 怎么做,他说没有讲题的环节。 惊了。
那看来我 D1T3 大概是永远也不知道怎么做了吧= =。。。
话说今年,如果 D1T3 也是个数据结构题的话,是不是有 4 道数据结构题啊。。。 当年北大冬令营能出6道概率期望和组合计数,清华冬令营出4道数据结构题有什么问题吗
@day ?@
经过 THUWC 过后,我现在看到什么分类大讨论都有点想吐了= =。
来源:oschina
链接:https://my.oschina.net/u/4265966/blog/3324539