World Finals 2017爆OJ记
Day-Inf:
去年China-Final一道数据结构题的FB送我进WF。
今年课表意外地满,好几天都是早上8点一直上课上到晚上9点,作业也相对较多。敝队大约每个星期只能训练一个下午,有时候甚至一整个星期都没有机会训练。
除去ICPC Camp,今年大概只组队训练了7场,浙江省赛还因为内存原因少过一道动态凸包。直到WF前,我也就是单人刷完了WF2014、WF2015以及绝大部分WF2016,训练时间实在是不够。队友也已经大四,整个学期都很忙,水平肯定有所下降,在WF前一周稍微写了写题找找状态。
Day-1:
一下飞机就发现忘记开通全球漫游服务,这意味着这一周都要在“无服务”中度过了。
在San Francisco旅游了一天,傍晚6点回到宾馆,因为时差问题非常疲惫,直接睡到第二天。
Day0:
经过多次转机抵达Rapid City,发现美国插座与中国的差异,意味着接下来一周给电脑充不了电。同时发现这个地方非常寒冷,一边穿羽绒服一边吃感冒药。
酒店内部非常漂亮:
Day1:
旅游日,早上去了著名的Mount Rushmore National Memorial参观。
因为时差没倒过来,中午回到酒店就直接睡下了,一醒来晚上8点钟,神奇的是在这里晚上8点钟太阳依然高照。
睡醒之后掏出电脑切了WF2013的7道简单题,结果写个网络流还被卡了ISAP,感觉过几天比赛药丸。
Day2:
开幕式日,在会场娱乐区和qls、tls一起玩游戏,感受到了qls卖队友能力有多强。
不得不说外国的天真是蓝:
Day3:
这天是热身赛,进场时被要求穿队服,于是回酒店折腾了半个小时。明天一定要准备充分才进场,不然肯定来不及。
热身赛都是以前WF的原题,一副默写大赛的样子。队友测试完环境,测试完Java、Python之后,还有10分钟的时间,问我要不要接着写。于是我开始rushWF2015的那道BFS题,写完编译都不测,交上去已是最后一分钟,结果居然AC了。热身赛就这样AC了10题,Rank7,感觉正式赛的RP全掉光了。
Day4:
最重要的一天来了。赛前老刘对我们说,来WF主要为了抢FB,而且只看题数不看罚时,于是我们就制定了先抢FB以及瞎提交的战略。
比赛开始后,我读了H题,想了大约5分钟,并不会做。队友则读了D题,并将题意告诉我,我感觉是个凸包题,但是仔细一想却发现好像并没有这么简单,一时半会儿也不会做。就在这时,场内传来了一阵掌声,我意识到全场FB已经出现了,于是让鸟神去跟。鸟神写完E题,提交上去返回WA。他认为是二分次数过少,于是改成了1000次,仍旧WA。他只好将代码打印,换南神去跟I题的榜。
因为队友WA了签到题,加上抢FB的欲望愈演愈烈,我根本不能静下心来思考,D和H都毫无思路,甚至读新题都有点读不进去。E题代码送来之后,我帮鸟神看了代码,发现他的二分上界居然只有区区1e6,仔细一算的确不够,应该是1e6+1000。为了保险,他改成了1e9,终于在27min时3Y了敝队这场比赛的第一题。南神I题也写完了,提交上去得到了AC,给我们带来了信心。
南神接着跟F题的榜,而我则在D和H之间斟酌。D题$n\leq 500000$,而H题$n\leq 10000$,从常识上来看应该D更加可做。我分析出D题两个序列都可以贪心处理成单调下降的序列,之后怎么优化并没有头绪。这种题说不定会有决策单调性?如果过了那是血赚(当时这题还没有人拿到FB),要是不过也不亏。于是我就尝试着写了一发利用决策单调性的分治,一遍过样例,正准备交时,发现已经有人AC了。交上去之后,跑了相当久的时间,但是还是WA了。这也没什么,毕竟我只是瞎猜了一个结论。
因为瞎提交战略,我开始各种乱搞,比如小范围暴力,大范围分治之类的,又连着交了两次,还是WA。因为没有其他题可写,于是我开始造数据验证决策单调性。打表发现随机数据下,它的确具有决策单调性,写了暴力对拍几十组数据也没有发现问题。这时我就慌了,毕竟这种对拍拍不出的情况从来没有遇到过。这时南神读完了K题,想上机打表找找规律,于是我把D题代码打印,将机位让给了他。
这时榜上还有A和C题被人AC过,A题是个几何,于是我们决定先开C。C一副网络流的既视感,和网络流队友一起讨论了大约十分钟之后终于得到了比较靠谱的做法,于是换他上去写了。131min时,C题1Y,我们的信心回来了一些。
接下来我们讨论了A题,感觉枚举两个顶点然后贪心延伸并没有反例,似乎比较可写,于是准备写,但是D题一直WA着也不是个事,我就决定先把D处理掉。因为这时感觉FB已经没法抢了,所以冷静了下来。经过证明,我发现D题的确是具有决策单调性的,但是不知道为什么WA了。于是我对着代码瞎改,比如把不合法的决策的贡献从0改成负数,然后爆了几发OJ,依旧是WA。这时南神将K题题意告诉我,是说将$s\leq 100000$个长度不超过$10$的串按在长度为$n\leq 1000000$的随机串中出现的概率排序。我说这个$n$那么大一定是没用的,大概和$1000$取个$\min$然后暴力DP就好了。他觉得很有道理,就上去写了,却返回了WA,他认为是他写错了,于是打印代码下来查错。
这时我突然意识到,如果分治先处理的是不存在合法决策的点,那么无论它选哪个点作为最优决策,都会破坏左右子区间的决策,这种点应该在一开始就被剔除。听说WF的评测机一秒能跑2e9,所以在修改之前,我尝试着交了一发暴力,不料TLE了。于是我重新修改预处理部分的代码,剔除了非法点,提交上去终于得到了AC。D题在第182分钟8Y。
这时看看榜,发现A题过了一片,D过的比我预想的少,而且5题甚至位于奖牌区,感觉写掉A之后再开一两题并不是难事。于是我信心大增,掏出几何板子愉快地抄起了A题。在237分钟时,终于调过了A题的样例,结果返回了WA。这也正常,几何题一般都有坑。我随即手出了一组数据,发现果然错了,枚举的线段本身就不在多边形内的情况会出错,改完之后仍然WA,也再没有构出过能让自己错的数据。
南神和鸟神重新读了一遍K题,发现数据范围读反了,瞬间不会做。此时榜上还有L题过的比较多,于是他们去搞L了,我接着调A。我对A题做了一些assert,发现诡异地响应了,简直是不可能事件。在瞎改的过程中,我甚至发现将多边形翻转可以多过一些测试点,这就更加不可思议了。最后我索性重写了A,写了个$O(n^4)$的暴力,发现也WA了。
已经是最后20分钟,他们想出了L的一个扫描线+贪心做法,但是不会证,写也来不及了。于是南神决定找K题的规律,把自己猜到的所有结论都试着提交一遍,没有一个得到AC。我和鸟神则对着A题代码检查,并没有找出任何错,一直僵持到最后10分钟。
这时鸟神突然跳出来说:“你把eps从1e-6到1e-15都枚举一遍交交看。”我照做了,但是都WA了,每个eps坚持的时间都不太一样,非常随机。南神说他又发现了K题的一个新规律,让我们把机位给他。而鸟神又说:“不如改成1e-3试试看?这发交了就不管了。”于是改成1e-3交了上去,并换南神上K。我们内心都知道,这只是垂死挣扎,也没想着让它过了。绝望与遗憾地度过了两三分钟,我突然发现刚才那发提交似乎还在Running,它坚持得比以往都要久。我让南神按住刷新,结果居然刷出来一个绿色的√ Accepted。A题294分钟34Y,这就叫“无心插柳”么?我们惊喜地欢呼起来,连观众席上的校领导都知道我们过题了。K题就没有那么好运了,直到比赛结束依然是WA。
出了赛场问了一圈,得知了qls、tls都没有过A的噩耗,很多队伍都坑在了A上。然后又听说了L题我们那个做法可以AC的噩耗,并没有时间去写了。
滚榜的时候亲眼目睹了许多强队的翻车,听到主持人一句句“They are finished.”时,不免有些忧伤。
我们最后6题,并列第20,虽然因为A题罚时原因垫底了。可以说战略制定地比较失败。
World Finals 2017 is finished.
HDU-SupportOrNot has finished.
World Finals 2017爆OJ记的更多相关文章
- Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)爆零记
昨晚一个瓜皮说今晚有cf,听说是晚间场,我瞅了一眼,娃,VK Cup,上分的好机会,看着比赛时间就有点心酸了,0:35,当时一直在纠结要不要打的问题,当时想着应该不难吧,要不打一下吧,要不还是看看题先 ...
- CTSC 2017 滚粗记
CTSC 2017 滚粗记 结束好几天了一直没写. 明天就要去参加二轮省选了,填一下坑吧. 所以可能很多东西已经忘了 Day -2 [5.5 Fri] 周五晚上是其他学信竞的同学来机房的时间... 也 ...
- PKUWC2019爆0记
PKUWC2019爆0记 访问量该骗的还是要骗. 1.20 坐了一天的高铁到jz了,热的一批 1.21 上午开营仪式 下午day1 打开发现有个地主斗 然后开T1 出题人你™搞笑吧放一道sb都能切的题 ...
- HNOI2019 爆零记
HNOI2019爆零记 day \(-inf\) ~ day \(0\) 开学一周之后才停的课,停课之后就开始每天被包菜.我三月份几乎没有更博,就是因为每天都被虐的自闭了. day \(0\) 本来是 ...
- PKUWC 2019&WC 2019爆零记
PKUWC 2019&WC 2019爆零记 毕竟过了很久了,杂七杂八的东西就不写了,并且除成绩之外的内容不保证其正确性. Day1 T1:看到这道题很舒服啊,枚举top序算合法图的数量,状压D ...
- 雅礼集训1-9day爆零记
雅礼集训1-9day爆零记 先膜一下虐爆我的JEFF巨佬 Day0 我也不知道我要去干嘛,就不想搞文化科 (文化太辣鸡了.jpg) 听李总说可以去看(羡慕)各路大佬谈笑风声,我就报一个名吧,没想到还真 ...
- NOIp 0916 爆零记
题目来自神犇chad 上次爆零是说着玩,这次真的爆零了QAQ 好吧貌似是TYVJ的模拟赛打多了..一直按照TYVJ的格式提交的压缩包.. 然后莫名其妙就AK了hhh 来的时候迟到了半小时,昨晚痛苦的补 ...
- [日常] NOIWC 2018爆零记
开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...
- NOIP 2017 游(划水)记
Day 0 上午,大概做了一套(大)信(水)心题. 让我想想我题目都是些什么鬼.. T1:大水题.什么sort一下就过了.据说lemon上用map不会被卡常(lemon上评测,程序跑得蜜汁快). T2 ...
随机推荐
- stream to byte[], byte[] to srting
byte[] myBinary = new byte[paramFile.Length]; paramFile.Read(myBinary, , (int)paramFile.Length); str ...
- ZOJ 4057 XOR Clique(位运算)
XOR Clique BaoBao has a sequence a1,a2,...,an. He would like to find a subset S of {1,2,...,n} s ...
- Python推荐系统库--Surprise实战
一.使用movieLens数据集 from surprise import KNNBasic, SVD from surprise import Dataset from surprise impor ...
- android app使用微信登录接口回调没有被执行的问题研究
本人开发的一个app使用了sharesdk集成微信登录功能,在测试的过程中微信授权登录界面有调用,但是授权后原应用的回调没有被执行 应用的包名是com.kimi.searcher 首先,确认微信点击授 ...
- springboot中使用拦截器、监听器、过滤器
拦截器.过滤器.监听器在web项目中很常见,这里对springboot中怎么去使用做一个总结. 1. 拦截器(Interceptor) 我们需要对一个类实现HandlerInterceptor接 ...
- 线程 ID
摘自<Linux 环境编程:从应用到内核> 在 Linux 中,目前的线程实现是 Native POSIX Thread Library,简称 NPTL.在这种实现下,线程又被称为轻量级进 ...
- Javascript \x 反斜杠x 16进制 编解码
js 里 \x 开头的通常是16进制编码的数据,下面代码实现编解码: 解码 function decode(str){ return str.replace(/\\x(\w{2})/g,functio ...
- Flink--Window apply
和window的操作类似,只不过操作更加灵活,具体的操作需要在匿名内部类的方法中实现:当有比较复杂的需求时候,可以使用: object WindowApply { def main(args: Arr ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-1目录
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- Codeforces 1017F The Neutral Zone (看题解)
这题一看就筛质数就好啦, 可是这怎么筛啊, 一看题解, 怎么会有这么骚的操作. #include<bits/stdc++.h> #define LL long long #define f ...