博文

~AFTER OI~

  原文链接 【注意】最后更新于  1年前 ,文中内容可能已过时,请谨慎使用。 我刚听说 “AFO” 这个词是就以为它是 “AFter OI” 的缩写。我到现在也不喜欢 “Away From OI” 这个说法。 还记得那天,我妈问我,要不要去试一试信息学竞赛。NOIP,是我一年多前听学校电脑社的社长 wqs 说过的名字,如今,它摆在了我的眼前。 这个梦就是这么开始的。听说学 OI 升学能有优惠,但我只是觉得这是个还不错的附赠品 —— 我只是想试一试在这条路上,我能走多远;想要证明自己,可以走得很远。 还记得刚了解了赛制的我,去 NOI 官网上搜索历届 NOI 的排名,看到有初三选手拿到金牌。那时的我已经是初二升初三了,于是我在心里暗想,一定要在高一进入国集。 听到教练推荐一本通和算法竞赛入门经典后,我不假思索地选择了后者,想着快点看完的话是不是就能变得很强了。由于自学过《C++ Primer Plus》,我跳过了语言部分,花了一个月阅读了前九章。事后回想起来当时很多例题都没看懂,很多知识点都没学会,但我就这么看了下来,没有一丝畏惧。 后来听说了洛谷,我飞快地刷着试炼场,享受着 AC 的乐趣。 那年 NOIP 的初赛,是我做的最认真的一次。在我们省,初赛可以轻松通过。那次我什么都没有准备,其他人做到一半都走了,我一直坚持到了最后,获得了三十多分。 普及组 230 分一等奖,提高组 160 分二等奖,这是我当年的成绩。 寒假,我去了 qbxt。当时几乎啥也没有听懂,只是在两场模拟赛中都拿到了 rk1。 省选,一双木棋,只是在 qbxt 听说过“状压 DP”这个名称,一次都没有写过的我,当场想出了正解,在 Day1 得到 rk2。 暑假校内集训,讲知识点时我并没有听,只是自己去网上简单学一下,然后就开始和其他人比拼完成洛谷团队作业的速度。 当时的我就是这样,在一个狭小的圈子里始终名列前茅,就如同小学和初中时一样。水平有限,可心中却有着对未来的希望,学习 OI 的热情,前进的动力,甚至从未想过自己未来会无法进入国集。 NOIP2018,489 分,HB rk1。虽然知道自己是凭借 D2T2 的打表取得的这个成绩,但还算是一份不小的惊喜。 以此作为终点,我实质上还是一名 OIer 的生涯就几乎结束了。 NOIP 成绩出来后不久,我去了广二集训。到达广州的第一天,广二的教练告诉

bad round 与出题人的坚守

图片
原文链接 等你等了五千年,只为这一刹那的回眸一笑。 这句话作为台前幕后的标准开头应该是没问题的。 只不过果然还是写不出 vfk 的水平啊…写的比较散乱。而且是前后断断续续地写的,有的写于赛前,有的写于赛后,所以会有行文不连贯的地方,可能也会有后来忘记修正的地方。 比赛地址 前奏 (借用一下 vfk 的标题 qaq) 一切源于一篇博客。 大约是 这篇 和 这篇 。 看到这篇博客的时候,是去年(2018)十二月,手里正有刚刚想到的一个 idea,也就是 1C —— Pictures。 当时我自己搞了个 简单的随机图片 ,然后脑海里就冒出了这个 idea,虽然刚想出来的时候并不会做.. 然后就拿着去找 Sooke 了.. 我:您有兴趣看一眼我出的一道题吗? Sooke:我会  2 n ​ 。 Sooke:想出洛谷公开赛? 我:不。 Sooke:想出 cf? 我:嗯。 翻翻消息记录发现当时自己太天真了…(2 months 都算少的) 然后我在不会做的情况下第二天写了个英文题面.. 然后 Sooke 给我扔了套他出给 PJ 组的题,让我从里面挑给 Div.2,然后我挑了 2B —— Chess。一开始 Sooke 还想把它放在 2A.. ylh 想了道不错的 1A,然而后来因为树太多就换掉了.. 然后 PinkRabbit 加入了团队,把 Pictures 切掉了(其实花了 2h…只不过比赛和出题还是不一样的,应该有不少人 A?)。 之后莫名想到了 2A 的 idea,只不过题面一开始不是 upvote / downvote,是幼儿园里老师给小朋友发两种类型的糖果..后来感觉出 cf 用 upvote / downvote 挺合适的。 “我们这场要有交互题!” 我在群里喊出这句话,然后没过几天我就在洗澡的时候想到了  1D —— Binary Tree。一开始我还加了个它是堆的限制,过了几个月才想到可以 BFS…树剖的做法是 Sooke 想到的,之前我差点想用我的 nsqrtn 做 std。 这道题是这样的,有一棵以  1  为根的二叉树,你可以询问两点间距离,在  n log ⁡ n  次询问内求每个点的父亲。 然后 ylh 想了个 1B,结果最后也没有被采用 qaq 这样六道题就齐了,然而果然还是不想出 div.2 only 鸭…到处找人要题没要到(包括后来出了 两 一题

一场BC的台前幕后

  #define BC BestCoder 一场BC的台前幕后 起源大概是这样的:一个月前的BC#75结束后,AK的人非常多,于是CodeVS群里很多人吐槽BC#75的质量,这时YJQ对KPM说:“我们来出一场BC吧!”恰好最近屯了几个原创, 并且发现给BC出比赛居然有钱拿,而且还不少,而给CodeVS出比赛就没钱拿,虽然说好有奖品但是奖品一直没有出现, 于是我就萌生了给BC出题的想法。然后又觉得一个人搞不是很靠谱,就把Hillan爷拉进出题的队伍。 然后就先开始做题面。我直接从我之前屯的那些原创里面挑出几个给Hillan爷看,Hillan爷觉得还可以。于是AB_CE就立即有了。然后Hillan爷提供了一个D。然后我觉得A太难了,于是就换了一个很水的题。至此题面就告成了。 接下来是标程。由于我的那些题之前也是准备过的,再把新的A题水掉之后,就只差Hillan爷的D题了。然后Hillan爷说有点麻烦让我写,然而我太弱了,只写出了一个复杂度多个log的暴力。于是被Hillan爷疯狂嘲讽,因此标算是Hillan爷打的。然后E题Hillan爷为了帮我验数据也打了一个,结果速度是我的两倍,果然是我太弱了。因为时限必须定在出题人的某常数倍以上,因此我准备拿Hillan爷的程序当标程。 然后开始造数据,A题 因为本来就是要送分 我就直接手打了,B题纯随机一下也没事,C题稍微构造了一下,E题也花了些时间构造了不少各种类型的数据防止水过。Hillan爷的D题也是直接随机一下就好了。至此数据完毕。突然得知pretest和final test都只能各有一组输入输出文件,然后我又怕给E题加多组数据时限过大,于是虽然C题补加了多组数据,但是E题我只是挑出了一个认为最强的数据来作为final test。 然后看了下比赛命题注意事项,发现为了支持hack模块,必须写输入数据验证程序。然后并不知道传说中的testlib.h是怎样的,尽管在阅读vfk《一场CF的台前幕后》时了解到这东西。而且也不知道整个格式应该是怎样的。然后发现有个QQ联系方式,就加了,然后就拿到了一个比赛命题模板。然后发现其实很容易写的,于是就很快就写完了。 突然发现还有英文题面。在英语大神的指导下,我完成了翻译,并且给Hillan爷的英语老师看了一下,然后改了一堆错误。 至此大概就搞定了,于是和BC管理员定好了时间,BC#79

一场CF的台前幕后(下)

图片
  (重发下这篇原发于 2014-06-17的网易博客)   比赛 然后CF卡了。(标准结局吧……)……狂刷新下就好了。 非常不爽……网速如此之慢。 这时Gerald给了我一个支线任务: During the round some questions will appear on the problems page. Please, answer most of the questions. We do not need to answer only the questions about tests and solutions. But if someone do not understand the statement we should either get him the quote from the statement or answer him directly.   考试开始2分钟后,终于有了提交。 4个勇士通过了Div.1 A。 pyx:就要这种感觉! 接着Div.1开始狂欢,5分钟后,50人过了Div.1 A。   相比之下,Div.2还没缓过劲来。4分钟后才有人过Div.2 A。   考试开始11分钟后,有人过Div.1 B了。 cyb:= = || 出了一辈子的题,被10min切掉的感觉真特么痛快。 hza:这样一小时ABCD不是梦!   接着我发现出现了一大波提问。 但是网速实在太卡……于是我叫着cyb帮下忙……   考试开始16分钟后,有人过Div.1 C了。 这么快!!! 吓傻了!!!暴虐vfk!!! hza:D题不应该降低难度的。。真的,难度本来就不平衡   考试开始25分钟后,Gerald找我确认题意。 ……他给了我一组数据问我正确答案是几。 我数了一下表示是5。 用标程一算发现是4。 什么!!!!!!逗了!!!!! 完蛋了!!!!!!! 我当时就愣住了…… 我问Gerald说为啥会这样。 Gerald解释了一下但是我没有听懂。 他说发个XXX公告补充一下题意即可。 但是我还是不理解为啥我标程得到的答案是4。 接着Gerald发了个公告。 我还在茫然。接近疯狂。 怎么办!!!谁来救我!!! …………我决定debug。然后重新数了一下个数。 发现确实是4。 毛线?虚惊一场?我刚才为啥会脑残得数错了? 那Gerald刚才跑过来到底说了些啥