@划水记@ THUWC2020 (?)
@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 过后,我现在看到什么分类大讨论都有点想吐了= =。
@划水记@ THUWC2020 (?)的更多相关文章
- PKUWC2018划水记
PKUWC2018划水记 Day -1 从福州出发去长沙,原本是预定Day0当天的航班,后来怕来不及提前到了今天. 由于最近长沙下雪,所以听说飞机取消了很多班次,所以早上起来的时候还特地看了一 ...
- CF Educational Codeforces Round 57划水记
因为是unrated于是就叫划水记了,而且本场也就用了1h左右. A.B:划水去了,没做 C:大水题,根据初三课本中圆的知识,可以把角度化成弧长,而这是正多边形,所以又可以化成边数,于是假设读入为a, ...
- NOIP后省选集训前文化课划水记
划水划了一个多月,文化课没啥长进还他妈累死了...--ghj1222 11.11(NOIP Day2) 师傅开车开得很快,晚上8:00多就到了二狱 晚上听毒瘤班主任swh讲了半节语文,我:黑人问号.j ...
- LNOI2019划水记
十二省联考命题组温馨提醒您: 数据千万条,清空第一条. 多测不清空,爆零两行泪. NOIp2018差点退役的游记 $Flag$拔了. $LNOI2019$划水记: $Day0$: 早上八点起床,一直颓 ...
- thuwc9102划水记
thuwc9102划水记 Day -2 时隔两个月之后终于回一次家,心情非常愉悦,开始浪. Day 0 晚上回到学校,然而机房里并没多少人,大佬们明天才回来.╮(╯▽╰)╭ Day 1 中午饭菜挺好吃 ...
- GDOI2021划水记
Day0 上午有意志行,一大早就醒了,然后走了五个小时脚痛.中午洗澡,宿舍轮流看巨人最终话然后聊了一个小时? 下午老师带着我和全爷先开溜,宿舍好像很破旧还还没得充电,领了牌牌和斐爷去吃饭. 然后六点多 ...
- WC2019 划水记
写在前面: 本篇是擅长咕咕咕的\(\text{BLUESKY007}\)同学难得不咕写的游记,将会记录\(WC2019(2019.1.24(Day\ 0)\sim2019.1.30(Day\ 6))\ ...
- NOIP 2017 游(划水)记
Day 0 上午,大概做了一套(大)信(水)心题. 让我想想我题目都是些什么鬼.. T1:大水题.什么sort一下就过了.据说lemon上用map不会被卡常(lemon上评测,程序跑得蜜汁快). T2 ...
- 省选后CTS/APIO前文化课划水记
目前没有什么明确的目标,所以就叫划水吧. 第一周 4.9 (Tue) 早上 10:00 到学校,然后去仓库找了张桌子,搬到教室,开始自习生活. 拿出"必背古诗文",发现除了< ...
随机推荐
- MyBatis映射器(一)--多参数传递方式
在mybatis映射器的接口中,一般在查询时需要传递一些参数作为查询条件,有时候是一个,有时候是多个.当只有一个参数时,我们只要在sql中使用接口中的参数名称即可,但是如果是多个呢,就不能直接用参数名 ...
- Java TimeUnit使用
TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段. 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit.HOURS //小时 Time ...
- 初学linux时遇到的那些哭笑不得的问题
1.终端中无法输入密码? 在终端输入密码,是不会在输入密码的时候看见星号或者圆点符号的.它不会有任何输入密码的视觉指示,也不会有任何光标移动,什么也不显示. 其实是输进去了,只是没有明文显示出来而已. ...
- consul理解
假设consul软件安装在电脑ComputerA上,那么需要注册的服务ServiceA1也需要安装在电脑ComputerA上, 一个服务就是一个提供了ip+port(或者域名)的应用程序. 服务: 服 ...
- cmd命令调用powershell脚本方法
cmd方法: powershell -command ". ('ps1脚本路径'); WriteInfo -param 'param参数值'" ps1脚本代码: function ...
- 在vue中使用jq或者第三方插件
1.安装jQuery npm i jquery -S 2.修改webpack的配置文件 文件目录及名称:build/webpack.base.conf.js 注释代码为修改部分 'use strict ...
- PuTTy linux下tomcat服务的相关命令
一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...
- 直接在安装了redis的Linux机器上操作redis数据存储类型--hash类型
一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和 ...
- Python3数据分析与挖掘建模实战
Python3数据分析与挖掘建模实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时 ...
- Oracle中Function学习2
上一节说函数 这回聊一下 存储过程:有了上节知识点,对这个也许会一种小感觉.呵呵 过程(存储过程):与过程相比, 存储过程是存在数据库中的一个对象 我主要通过例子来了解 不做多解释 相信你也能明白: ...