THUWC 2019游记

坑先占着QwQ

不太喜欢写Blog, 因此我的Blog一直很冷清,但是还是想写写这种游记啦,反正是给自己看的


Day -4

颓了一整天,一道题都没写

于是无聊用GL写了一个海战游戏,让两个程序对打……

Day -3

颓,没做题

Day -2

颓,没做题

Day -1

颓,回家泼隔膜

Day 0

出发辣

飞机上很无聊

到了广州真的很热

于是挤了好久的地铁,全是人……快自闭了……

扫描二维码关注公众号,回复: 5064350 查看本文章

于是……走下地铁……

还走了半小时的路……

走了半小时的路到宾馆

结果……家长们还走了好久才到……

然后还被强行带出去吃饭

晚上泼osu!

睡觉前各种担心

Day1爆炸预定

Day1

上午报道,选了一件蓝色的衣服,看样子还不错

来到考场试机,OJ各种挂……

坐在C区的边上,键盘好评

敲了一个NTT然后就走了,去吃饭,饭还不错

合照完,就奔赴沙场

一路上头都是昏的,走进考场发现不能登录,显示"System Locked",于是举手一波……

还是坐在C区的边上,键盘好评

离考试还有十几分钟,马上开始睡觉

然后剩下几分钟的时候起来,成功输错账户名和密码

考试开始后纸质的题面一看,三道传统

看一遍题面

T1看样子可做,T2码农,T3DP

于是开始做T1,发现枚举一波贡献,就是\(\sum cnt_a[i] \times cnt_b[i]\)

还是直接上分块吧,空间256MB的毒瘤,把块设成300个,样例WA……

发现数据大的时候,把块改大改小结果不一样,然而并不是越界

于是打一发暴力开始拍,发现极小的数据就WA了……

调过后交一发,最后一个点T了,算一下\(O(Q\sqrt n)\)已经爆炸了,放弃了,\(80\)分走人

T2看样子难做,先做T3

T3下面的容斥一直搞不懂,所以直接写DFS,结果T……换一个姿势,还是T……那我就搞不懂了

于是去刚T2,发现其实还可以

考虑只有车的时候,最多两个折

考虑飞机,要么平行线上有两个飞机,要么一个点有飞机

于是记录最大最小值就可以过60了,感到如果还要最小值那就真的难写了

爆了几发OJ没过,没有飞机的点过了

发现飞机少考虑了

于是又爆上去

还是WA,只过了小的点

看了好久,发现数组开小……

\(60pts\)走人

中途还心态崩了,上了一波厕所,心里平静了许多,调出了T2

T3换了各种各样的DP,结果都fake……

看着最后半小时在我想DP的过程中没掉,然而还是一分都没得

Day1 \(80 + 60 + 0 = 140\) 滚粗

顺便说一句士力架真好吃,那个蛋糕差评,两个口子扯下来还是没撕开……

旁边那个小哥无限续水喝令人震惊

出来后,发现被踩爆了

yu大T1T3A了,T2没拿满

后来,才发现T1有莫队做法……以及T3可以用map套vector拿十分

回去后,仍然泼osu!

Day1果然是Day1,果然爆炸了

听到教练们奶一口Day2更难

Day2

这一天注定是一场考验——因为有8个小时……

还是坐在C区的边上,键盘好评

照常考前睡觉

今天T1T3传统T2交互

看了T1,SB题,T2看样子有点难,T3貌似可做

于是就刚T1,枚举边的贡献,就是一个线段树合并,但是要up和down一下,可是这个down是可以用所有的减去up做到……

马上写上,50min一发pp

发现还行,心态好了起来

去刚T3,写了一个暴力凸包,一遍过暴力的pretest

然后刚T2,写了枚举所有边

发现才两个小时不到

不能\(100 + 30 +34 = 164\)滚粗吧,人毕竟要有梦想

去想T3的部分分,发现有两个方案:

  1. 枚举左下角点,三个数组开上DP一下,四个n
  2. 枚举三角形,枚举贡献,双指针扫一下,三个n,但是有点fake

所以写了第一种,一下子过了样例,一交,全WA……

拍了一下,发现只有一种情况没考虑:最后时候的边和左下角点共线

改一发就pp了,\(74pts\)

现在\(204pts\)了,时间不多,去想T2

试了各种方法,感觉不太对

先是用并查集优化了一波,发现并没什么用

后来想先定一个根,先feature1预处理深度,按深度枚举下去,然后枚举每个点的父亲是谁,这样是\(O(n^2)\)的,常数应该小一点,但是交一发,没多过东西

感到应该考虑feature2怎么用

如何\(O(1)\)求出父亲?

不就把上一层的所有点\(|S|\)和那个点放入集合然后feature2不就好了

于是写了,WA,原来传回了0号点

突然看到样例里的一个集合是多重集合……

然后就想到,不如把要求的那个点多复制几遍?

这时一看还剩半小时,决定开始码

我根据直觉直接把询问点复制了\(|S|\)遍,调了几发,过了样例

然后改成\(|S| + 1\)就不行了233

交了一发PP

\(100 +70 +74 = 244\)还行

于是最后15分钟都在颓

威化饼干真好吃 士力架真好吃 好评

出来之后,发现还是被踩爆了

yu大\(100 + 51 +100 = 251\)

下午回去颓颓颓

在宾馆里看西游记(今……),被教练查房D了一顿

然后就假装睡觉,实际上在颓知乎

晚饭点了外卖真好吃

Day2+

考前开玩笑说考图形渲染

还是坐在C区的边上,键盘好评

照例考前睡觉

然而还是没奶中啊,考的是图像处理

一看,MD这什么°6题,这能做的?

于是打开题目,快速跳学习手册

发现ADLER32是送分的,写了一个,过了样例,交

然后写CRC32,这什么东西啊……到底用什么实现啊…………

只好暴力bitset,跑了好几秒才跑完

于是看第三个点,发现其实手册里全是重点……各种IDAT什么的smg

还是慢慢啃下来,一个个实现吧

我先封装了读入,然后从头到尾打下来,发现T3和T4貌似有关联,反正也不管,直接在T3把东西都判了,assert上去

发现其实还挺好打的,就是这文章挺长……看下来其实发现都还好

打着打着发现竟然要CRC32……因为会跑的很慢还是回去优化了一波第二个点,然后封装起来调用

调了一下,然后IHDR的CRC32过了!

开始写IDAT,发现很麻烦

数据块的大小应该是9啊,为什么是10啊

这个ADLER32到底作用域是多少啊

观察了好久,发现这个多出来的1是在数据流的最前面有一个00……也没看到它讲为什么啊

然后写完读取后,能够成功输出RGB矩阵了

但是ADLER32还是过不了啊……

各种调,调不出

结果看我的ADLER32源代码的时候,发现\(65521\)写成\(65531\)

差点\(80pts\)滚粗

改了一发,重新交了T1

然后再改了一波作用域,ADLER32校验过了,它说的数据流就是只有那种\((3 * W + 1) \times H\)个的

样例过了,然后发现无限空间开小……

交了上去,然后马上改T4,改了一下,发现数组还是开小了……

看到输出的图片时十分激动,看看时间,还不多了……

马上往下翻,看起来sobel挺好写

把T3T4封装起来后,写了一发,样例跑出半个图

我立马就慌了,一看,\(W\)写成了\(H\)

然后就渲染出来了

于是开始跑,数组又是各种开小

搞出来后,交上去,时间也只有十几分钟了

把每道题检查一遍,发现不少答案锅了!

有的5个点只剩4个,有的编号甚至比测试点个数还大

5个点都补交了一发,检查了一遍又一遍

最后四个库放在一起,一共5个K,看着边缘检测的图,十分有成就感

Day2+预估\(20 + 30 + 50 + 50 + 20 = 170\)滚粗

然而晚上没吃的只有水……

出来后发现仍然改不了被踩爆的命运

yu大\(20 + 30 + 50 + 50 + 20 + 20 = 190\)踩爆我

晚上回去还是泼osu!

想和zzs开CS:GO然而没开起来

Day3

面试差点迟到……在等候室里等了两个多小时

听dwt说去年是三个老师正襟危坐对着你

我进去一看,还真是……

其他还行,英语直接爆炸

下午听着讲课,发签无限咕咕

然后听说今年变成发奖了

听说神仙weng_weijie在PKUWC拿了一类

开始无限orz

终于在很晚的时候开始发

快到了最后,我才上去开彩票

开到的奖还行,大概是照顾我这个初三的吧……

晚上和zzs开CS1.6,欢乐场,无限ping

今晚还是很容易就睡着了


没有提前退役,也算是一种运气吧,看着个个初一初二的比当时的我强多了,感觉不久就要被踩爆了

滚回去上文化课辣~~~

然而ZJOI这种不可能的东西,还是要去冲一下,人也是要有梦想的

猜你喜欢

转载自www.cnblogs.com/daklqw/p/10280339.html