写在大三前

ACM-ICPC

说实话,直到现在上一年7月ACM-ICPC World Finals的失利还是让我有点纠结。

除了发挥不佳以外,没有花很多时间来练习和调整更是一个重要原因,final时军心也不是很稳。记得出发前还写一篇类似《出师表》的玩意,现在看来,真是被“表”得开心。

和新的队友也一起训练了5场,以前NEERC勉强8题的现在能搞到10题,剩下的最后1题还居然有想法,不得不说简直是生命的奇迹……

5场练习里我也看到了猛犸比我厉害的很多地方。比如说每一场训练到了最后面我总是有点注意力不太集中,而猛犸则能从头到尾保持在比较巅峰的状态。这是很难得的。不得不说我被算命先生说中了一点:容易在最后松懈。

自shi哥夺冠以后,最近两年ZJU的World Finals简直可以说不堪凌辱,虽然姥姥说游戏而已,但是以我的性格根本不可能不被刺激到。

不管怎么说,今年对于我们队三个人来说都是最后一次,我和猛犸还分别是被凌辱的两届的final队成员,其中意味,不言自明。虽然没有多说,但是我们心里都清楚。

不得不说上一年我因为年轻还抱有一点点试试水的心态,这是很致命的。这会儿根本是不敢抱有这样的念头了。毫无疑问,打好今年的final是我现在最该做的事。

My Way

自搬来玉泉就总有一种快要毕业的紧迫感,以后要做什么成了迫切需要思考的问题。

  1. 说实话从大一开始我就没有考虑过搞研究,也许这样收入稳定,但实在是很没有兴趣,自身智商有限导致发展空间看起来不是特别大,而且自身在这上面也没有很有利的条件,于是就略过了。
  2. 程序员。大公司的起薪感觉还是很不错的。是比较容易做到,自身优势也比较大的一个选择。但是疼的是大公司发展空间小,小公司累成狗,说不定还跪了。去什么公司也得好好斟酌。
  3. 创业。可以说也是自身优势也比较大的一个选项,但是总感觉直接来太浮了。最坏情况可能是一事无成,但是发展空间很大。idea是有的,但阅历太浅还是不太敢直接来。

真是收益大的风险也大。戏如人生,人生却不能当戏演。总得考虑最坏情况。
如果一开始去的是小公司或是创业,那么失败了以后就有点惨了;如果一开始去的是大公司,出来以后无论是做什么失败了,有这段经历至少小公司比较容易进这点是毋庸置疑的。
不积跬步无以至千里。毕竟没赚过小钱就想赚大钱实在是太不稳了。现在还是先想想怎么进大公司吧,等感觉差不多了再出来创业。最后实在不行就接手家业好了……T_T

大三过后,大概和ICPC系列比赛就没什么交集了,现在还是不留遗憾地把面前这件纠缠了9年的事情先做好吧。

ACM/ICPC World Finals 2013 总结

回来在SNS看到满屏幕的宁波理工虐了浙大的消息简直是喜大普奔……
虽然很不想总结,但是毕竟是一场final,还是写一点什么吧。
先说一下我的视角里的比赛进程。

开场
我搞定登陆,默写了vimrc。
然后看了DEF,感觉D题是搜索但是复杂度非常难算,我向来不喜欢先做这种复杂度要跪不跪的题目,于是跳过。

刷下board发现F台大过了,我想了一会儿,YY出了二分然后dp的解法,上去写完交了一下,WA。
怀疑了一下算法,让zYc上去拍D,跟prowindy讲了一遍,在prowindy还在理解的这个算法的时候突然想起我自己代码中一个错误,改后过了。
F 48(2)

zYc开始继续拍D,prowindy跟我说C是图论题,让我去看。
于是我想了一会儿发现是最短路+max flow,看着zYc还在拍D,又走马观花地看了一些别的题。后来瞄到zYc在用gdb调D于是把他拍下来上去敲了,很快调过sample以后1Y。
C 114(1)

好像这时候zYc开始交D,TLE,TLE,TLE……
prowindy看着形势不对跑上去拍掉zYc开始敲A。
zYc喊我去帮忙看D,我说这样我们很容易在A题之后就没有题了,于是我去想H题。
想到了一个500^3的算法,犹豫了一下,看着4秒的时限,还是决定开搞。
然后等着prowindy交了A,WA……
于是我上去把H敲了,1Y。
H 189(1)

prowindy在我敲H的途中好像发现了A题一个错误,改了以后还是WA。
我感觉不能再让队友掉在坑里,于是回去帮忙debug,prowindy跟我说了一下A题题意以及做法,然后我第一反应就是做法不靠谱,也可能是他没跟我说清楚吧,感觉他说的那个长得不太像充要条件。我重新YY了一遍,每个接口拆成上和右两个点,dfs判环,发现过不了sample。瞬间反应过来dfs判环还是很麻烦的,我那么写是不对的,于是直接换成3个for的bellman-ford求最长路判环,敲完就过了sample,交上去就1Y了。
A 264(3)

这时prowindy已经把zYc的D题扔掉重写了一个,这回是WA, WA, WA了……
我也一起看D,但是还是看不出哪里能WA。
差不多也是这时候,zYc把J敲好了,但是直到比赛结束都死活过不了sample,赛后才发现是算扇形面积的时候少除了个2。

然后比赛就这样以4题结束了。

其实赛前我就一直说,我们队怎么样,全看zYc的发挥。
因为在平常训练里就看得出来,我是比较稳定的输出,zYc是非常不稳定的爆发性输出,prowindy则是出数据和debug能力比较强的辅助。
这回zYc从头卡到尾-_-b,也不是我所能控制的了……

总得来说今天我自己的手是比较稳的,交了5次,过了4题。策略上其实也是比较正常的,但是我帮别人debug的能力没有足够地强,导致也没能让队友打出状态……
如果今天只让我一个人coding,让zYc和prowindy推公式和想算法大概会好很多吧。
说实话这场比赛我感觉自己状态好一点的时候单挑都不止5题-_-b。
最后翻了翻board,发现在我们后面的再也没有topcoder rating总和比我们高的了,可见无论是主观上还是客观上来看我们的发挥也已经到达了不能更糟糕的地步了。

撇掉上面一些发挥上的原因,从客观上看我观察到的大概有这么几个原因:

  1. zYc写几何不用模板(我们整场比赛就没碰过那本模板- -b)
  2. zYc的编程习惯导致程序非常难懂且容易出错,一般要考虑很多情况才能明白他的代码到底有没有可能出错。这在problems比较tricky的final上是致命的……
  3. prowindy学长和final的风格不太match,学长强在乱搞,但是final的problems上思维陷阱到处都是,不扎实点一般是过不去的。
  4. 我帮别人debug的能力比较低下,编码速度和水平也没有足够高。作为队长,没有能调起队员状态……

想到什么再补充吧……