流浪云 的个人资料搬家咯!!!请访问以下网址:日志列表 工具 帮助

日志


8月2日

ACM反思:一步一个脚印

      今晚和bug谈到了到时ACM组队的事。bug说我唯一可以争的就是T2了,但机会似乎比较渺茫,看来只能暂时YY了。YY总是比较痛苦的,想到自己前4场的排名,又陷入了深思。

      从去年开始就一直YY自己到了大二暑假的时候也会像东哥他们那样,可惜现在留给自己的只是幻想了。虽说今年还不至于像去年一样惨烈,但也并不好过。去年的口号,“20天,什么都可以改变”,现在才发觉是句空话,而且正好是自己一直以来比较浮躁、不够踏实的证据。高三时魏老师经常拿这个来教训我,而我却总是不听,或者更确切地说,是不够在意。现在才知道这句话的份量。

      似乎我一直都是比较喜欢幻想的人,经常把未来想象得很完美,真不愧是浪漫主义的。MM说得对,期望太高,适应性不够的话,到时失望了受到的打击是会很大的。因此要么降低期望,要么提高自己的适应性。现在看来我要双管齐下了。一方面不敢再胡乱幻想,另一方面也会好好调整自己的心态。事实上两年4+2的惨痛经历已经使我的心智成熟了不少。

      这个暑假会放轻松点了。题是要做的,不过不会像去年那样把自己逼得太紧。另外,关于自己实力上不去的原因也找到了,就是因为自己从来都不做难题。两年来,花在ACM上的时间真的太少。难得挤出来的时间,我都会拿来切简单题,然后用自己切了多少题这个“功绩”来弥补自己的愧疚。一旦遇到难题,都会懒得下手,感觉一天做不出题来会很浪费时间,于是又转手去做简单题,以题数压倒一切。而事实刚好完全相反。做十几道简单题,都不如做一道难题。实在想不出来,可以看看解题报告,看看别人怎么做。这样在自己思考题目时思维得到了锻炼,看了解法后又吸收了新知识,这样才会有提高。可惜,我觉悟得太晚了。

      今晚12点多开始做一道DP题。此题并不算难,但我却花了两个多小时,可见自己实力确实一般。但在做题过程中精力比较集中,并不像之前那样经常分神,于是整个过程都很enjoy。最后AC了更是感到十分惬意。这样才会有进步。

      这个暑假就这样过吧,不必太刻意逼迫自己做题,有空的时候就想想难题,两三天能做出1道也就够了。稳扎稳打,一步一个脚印,踏踏实实地向自己的目标前进吧。

7月23日

完美夺得$,达成心愿~

       722:SRM312 —— 觊觎已久的有米SRM,期末考完就一直在YY的心愿,真的达成了。5月9号留下的遗憾,终于在今天得以弥补。
      而且,今天的SRM真可谓相当的刺激。前两题做得比较快,排到了第1,但差距并不大,1000就变得比较重要。1000也是挺刺激的,还剩3分钟结束时还没有过SAMPLE,而此时也没有别人提交1000,就想放弃了,心想前两题也可以保住第1,但后来还是孤注一掷,加了精度判断,居然就过SAMPLE了。没有丝毫的犹豫,交完后coding就结束了。
      cha阶段很重要,弄不好就会被第2的超过,因为1000一点把握也没有。可惜自己实在不会cha,最后1个也没有cha出去。而且由于前2题做得太快了,没有怎么检查,cha阶段一直是胆战心惊,生怕突然自己的分数就出现challenged succeded,然后名次狂掉。还好,3题都安然无恙,守住leader...
      等TEST的期间,发现自己的leader根本就不稳。如果1000 fail掉,就会以4分的差距输给现在第2名的。而那家伙就是通过1次成功的cha,到达了这样阴险的分数位。试想要是仅因为4分的差距,换算也是大概不到1分钟的时间,就没了$10,那是多么心痛。而自己的1000实在是没把握,没被cha掉是因为这题不好cha,到TEST时fail的可能性很高……一是因为快结束才调通样例,二是因为最后是加了精度才过样例的,三是因为没有仔细考虑一些特殊情况……这3点让我一直胆战心惊……
      不久后TEST完了,开始更新……当更新到自己的前几个room时,就开着自己room的board,因为它会自动更新。这是一种非常刺激的行动,很可能会尝试到突然死亡的滋味……在等更新时,心跳是不断地加速,因为没有倒计时,随时会更新,所以双眼是一直盯着,一直盯着,好刺激……
      突然,board刷新了,自己的三个分数都变成了 PASS SYSTEM TEST,1000 PASS了,保住了第一!!!!!!!!亢奋啊!!!!!要不是因为半夜,我当场就会吼叫起来!!那种兴奋的感觉……实在是太爽了……
      这次经历恐怕又会被永久载入我的兴奋史,一是因为PASS了之前一直没有把握的1000,最终三题完美通过;二是因为保住了第1,拿到了$30;三是因为这种突然更新的方式,营造了太完美的气氛。总之,这一天也会被我永久记住——
      2006年7月23日,以三题完美PASS,ROOM第1,DIV2第4的战绩,夺得TCO的第二桶金,了结已久的心愿。
5月24日

我的ACM故事(6)之帝国归来——!Atlantis!(上)

我的ACM故事(6)

亚特兰蒂斯征途(下):帝国归来

———— !Atlantis!GDCPC2006

 

1、赛前篇

前文再续,书接上一回。

上回说到 !Atlantis! 在预选赛时历经沧桑,受尽磨难,过程颇为不顺,但最终依然受RP照顾,创造了奇迹,保住了三甲。同时,坚信 !Atlantis! 会在省赛时再创奇迹,让失落已久的帝国复苏。此等重任自然地扛在了我们的肩上。

五一刚在中山鱼肉别人,回来马上就要被别人鱼肉了。休息不到一星期就省赛,状态真的有点不适应。一周没做题,手感全无。而我们队的队宝bug也在比赛前夕来了个重感冒,雪上加霜。正所谓每个王朝的背后都有一个伟大的做题手,bug魔王要是倒下了,我和Aesop是撑不住的。还好比赛当天bug依然活蹦乱跳,生龙活虎,这才让我们放下心来,准备迎战。

2、题目篇

闲话少说,直入正题。先简单介绍一下比赛的10道题:

A、大水题,略。 3Y by bug

B、 超经典的L形覆盖,代码只需5行。 1Y by RC

C、 由于被肥哥搞事,大家都以为是BT题。实际上只是一道普通的搜索题,搜索量并不大。 2Y by bug

D、蛇形覆盖,程序设计的基本题…… 1Y by RC

E、 bug说的“很简单的DP”,结果全场就3支队过=,=  3Y by bug

F、  本次比赛最难的网络流的题目,但被人水过了=,=。没有做。

G、构造题,三人齐齐想,最后AesopRP高,顺利水过。 1Y by Aesop

H、简单计算几何,但由于PI精度问题害了不少罚时。3Y by Aesop

I、   普通的模拟题,题目描述有点烦。一直WA到比赛结束……55555……

J、   最短路,经典的Bellmen-Ford,但由于bug在题意理解上出了点问题,结果浪费了不少罚时。3Y by bug

3、比赛篇

今年真的多了不少新花样,比赛开始前还有倒计时呢。比赛开始后,按之前的计划,bug读前面ABCAesop读后面HIJ,我从中间DEFG读起。肥哥那题对我们的诱惑并不大,一开始并没有受那题影响。我先把D读完了,感觉是水题,规划的时候bug已经上去敲A了,看来更水。不过bug昨天重感冒,而且没有试机,今天不知道还是不是信得过的产品,更何况bug平时不会这么冲动的……担心ing。担心之余继续规划D,争取在bug过了A后就能上去敲这题。

D才想没几秒钟,bug就说可以交A了,快得离谱。真的有那么水?作为队长,觉得很有必要看看他的程序先,昨天没有试机,不知道会不会漏了文件输入呢?不会吧,bug应该没有那么水的。不过还是看看吧。结果我一瞅屏幕——果然没有文件输入!!我连忙大呼:“文件啊——” 话未落音,一个框框就已经弹了出来——就是那个可爱又熟悉的submit成功窗口……

第一次提交就拿到了TLE,难得。bug加了文件输入后,马上又交一次,换我上去做DD没敲多久,A题就返回了——结果居然是WA。惨了,bug今天状态看来真的有点不佳。还好bug改得快,第三次提交终于YES了,但在罚时上真的亏大了……第一道水题就如此,有点打击士气。

后来我敲D时没有规划好,写到一半写不下去,而此时AesopH可以敲,就先把机子让给AesopH,我退下来继续规划D。看一下Rank list,发现有队过B了,就问bug B题怎样,bug却说不太会做,和Aesop讨论过也没有什么好想法。问了一下题意,我晕,这不超经典的L形覆盖吗?中学时就看过……快速地遍历一次我的大脑后,想到了好像是和(n*m)%8有关。AesopH WA后换我上去敲BDB很快敲完就交了,很顺利地拿到了第二个YESD题重新规划后思路也很清晰,很快也过掉了。此时我们三题,但因为罚时问题,排名并不太前。看来今天要靠题数了。

接下来的分工是bugJ,我帮AesopHbugbugJ交得很快,也WA得很快。bug认为是题意问题,clar了一下后,judge理直气壮地叫bug认真读题。“看来judge对这题的描述很有信心喔!”自言自语后,bug找到了J的一个大bug,改了之后再交,还是WA……完了,bug今天果然失水准。AesopH找了不少bug,改过之后交第二次,还是WA……而这时我叫bug按另外一种理解改了J后再交,终于拿到了YES……AesopH提高一下PI的精度和实数判断的精度后,提交,YES5题。此时名次算是比较靠前了。

I题描述很烦,但因为有队过,我只好硬着头皮把它读完。后来觉得是可以做的模拟题,于是便开始构思。bugAesopH的时候看完了E,说是“很简单的DP”,想扔给我,但我更偏好模拟题,而且算法题一向是bug的,就又推回给他。然而他却说:“这道根本不算是算法题啦,很水的DP来的……”(听到这句话后想K他的人请re此文,我为你们准备机会——作者注)接着bug就上去写E了,AesopG,我继续想Ibug又是很快敲完E就交了,又是很快就WA了(今天bugcoding异常的快,但正确率却异常的低)。此时我的I规划得差不多了,我就叫bug先退下来冷静地想一想,换我上去敲I

I题敲了一段时间后,我们队的红色气球突然爆了,吓得我的心扑通扑通的跳,许久不能平复,程序也越敲越乱。AesopG似乎找到了构造的办法,于是就先让他上去敲,我退下来再好好想IAesop的办法并没有证明,但却很有信心可以水过(或许是因为有支队很快就过了G而且是1AC的吧)。结果就真的水过了,爽啊!士气突然就上来了,而我也坚信我的I题最后一定能够出来。此时我们队7题,暂时排名第一,直到封board后还是只有我们一支队7题,看到夺冠的希望了。

I题又敲了一段时间后,提交之,WAbugAesop经过热烈的讨论,决定用暴搜+const的办法把C解决掉。然而我们似乎慢了一步,我们左前方已经有支队把这题切掉了,拿奖品的愿望变成泡影。但却更让我们坚定了过C的信心,于是便换bug上去写暴搜的程序,写完后让它运行,我继续上去敲I

I题再敲了一段时间后,又提交之,又WA。此时C题的暴搜程序已经run完了,bug把结果const后满怀信心地提交,结果却返回WAbug很快发现了自己暴搜程序的bug,第N次把我赶下来,改好后一run,居然不到1秒就出解了,真快!const一下再次提交,YES8题!全队都兴奋起来了。再把I题切掉,9题就稳拿冠军了!看一下pc^2,离比赛结束还有20分钟……

 

4、最后20分钟 

       “过了这题,我们就夺冠了。”

整整20分钟,这句话都一直在我的大脑里徘徊。

每次提交,我都希望能弹出一个YES窗口。

只剩下5分钟的时候,我期待着我的RP再次爆发。

我开始想象如果弹出一个YES后我们队的兴奋程度。

比赛结束了,还有2个值得期待的submit没有返回。

“别担心,我一向都是最后才爆RP的啦。”我这样对自己说。

第一个返回了。Wrong Answer

第二个也返回了。同样,Wrong Answer

我的视野开始变得模糊起来……

我对不起队友,夺冠的任务,我没有完成……

我的ACM故事(6)之帝国归来——!Atlantis!(下)

我的ACM故事(6)

亚特兰蒂斯征途(下):帝国归来

                    ———— !Atlantis!GDCPC2006

 

5、意外夺冠 

一阵沮丧之后,队友们却带来了好消息:全场只有我们8题,我们夺冠了!

奇迹再次出现。这次的奇迹不是发生在我身上,而是发生在我们整支队身上!

省赛夺冠是从去年Hackhammer夺冠以来就一直酝酿着的心愿。Hackhammer是东哥他们大二时夺冠的,所以我们当时也是立下了大二夺冠的心愿,更何况大三如何组队还存在许多变数呢。所以,大二只有一次,机会也只有一次。

省赛开始前,我们就不断分析我们夺冠的可能性,并通过一定的猜测及推演,计算出夺冠的概率,并制定相应的策略。开赛前,大家还一致认为,要夺冠,要靠速度取胜。想要靠题目压倒那几乎是不可能的。我想这也是bug如此冲动的原因,也是bug一开始的TLE+WA如此打击士气的原因。

没想到,虽然我们出师不利,但后面却一帆风顺。封board前仅有我们队7题,排名第一,剩下20分钟时达到8题,手头上还有能过的而且一过就稳拿冠军的第9题。当时真是让我们感觉到无比的兴奋。

又没想到,20分钟内我居然没有做出I题。此时只要东哥他们做出8题,罚时一定比我们少。而东哥他们做出第8题的概率也是相当大的。

更没想到,东哥他们没有做出第8题,而我们则幸运地夺冠了。一直以来的心愿,在今天经过一番波折后,我们真的做到了!

颁奖大会时,我们一起走上领奖台,拿着ZSUCPC2006GDCPC2006第一名的奖状,代表中大捧起学校第一名的奖牌,那真是无尚的光荣。

然而,在台上的我,却找不到应有的兴奋和激动……

 

6、夺冠的背后

 

       事实上,虽然我们队取得了冠军,但我却怎么也兴奋不起来。即使是上台领奖时,我也是刻意让自己笑得灿烂点。因为夺冠的背后,我真的需要好好面壁。过不了的I题,成为这次比赛的最大遗憾,也是我的ACM生涯里的一大遗憾。

       拿到了I题的最后一个Wrong Answer,我就一直处在郁闷状态。直到得知自己队取得冠军了,我才能勉强地笑出来。也因为这样,被某些师兄认为我很假。事实上,我是真的笑不出来。我在你们面前笑得很灿烂的时候,才是真正的假。

       我一直在幻想,假如在比赛结束前拿到了I题的YES,我会怎样的兴奋,我们队又会怎样的兴奋。

我想那一定会比“18年来最兴奋的一刻”——GDOI2003第二试拿到110分的成绩单时还要兴奋。我会相应地称之为“20年来最兴奋的一刻”;
      
我想那一定会比去年预选赛意外过掉全场只有我们过的E题并因此夺得了全校第一那时还要兴奋;

我想那一定会比今年预选赛过F时还要兴奋。那时我兴奋得叫出声来,和队友一起击掌祝贺,并拥抱在一起。这次一定会叫得更爽,击得更痛,抱得更紧。

所有的这些,现在都只成了幻想了。一旦想起,我的心就会隐隐作痛……

我们队共过了8题,bug做了4题,其中有最后只有2支队过的C和只有3支队过的E,大功臣啊,不愧是帝国背后那位伟大的做题手。而我却只过了BD,一道共有58支队过,一道共有91支队过,都是大水题啊。而那比较有价值的只有4支队过的I,我却没有做出来。

也许有些人会说,我不应该奢望太多。但事实上,I题是完全可以过的。开始敲的时候,我也坚信我能过掉这题。与我所做过的模拟题相比,I题真的算不上复杂。我刚开始还信誓旦旦地对bug说,这题我肯定能在比赛结束前做出来。封board时,I题也已经有3支队做出来了,而且还是1Y,我就更有信心了。

结果却如此的出乎我的意料。

 

7I题总结

 

I题最后没出来,总结一下原因,暂时想到如下三个:

1、思想压力过大。一开始士气低落的时候认为夺冠的希望已经较小,想着把题目做好,把自己的水平发挥出来就够了。因此后来都比较轻松和顺利。开始做I题时也没有想太多,但当得知I题是夺冠的关键时,思维就开始混乱了。红色气球爆掉那一刻刚好就是转折点。其实在正常状态下,即使只有20分钟,我也应该可以过掉这题的。总结语,引用HQM老大当年给OIER们的一句话:

“不要在比赛过程中想任何比赛前和比赛后的事情。”

2、一直怀有投机取巧的心理。以前做模拟题时,提交之前都认为考虑全面了,理应AC。即使WA了,也只是一点点毛病,再看看程序,读读题,也就能找出来了。而这次的I,每次提交前其实都是没底的,即使是最后的几次。我总是对自己说,“我一定能爆RP的”;或者对RP说,“爆发吧,我的好RP!!”;又或者对天说,“神啊,保佑我再次爆RP吧!”试问在这样的心理下,又怎么能顺利解出要考虑全面的I题呢?总结语,引用我MM对我说的一句话:

“你也不可能老是在最后可以爆RP的嘛……之前你最后爆RP让你都有定性思维了。”

3、具体方面,读题时不够细心,有些情况没有理解清楚,WA后也没有再回去好好认真读题,一些不肯定的情况就按自己理解去做了。在最后不管罚时狂交的时候也没有分两个版本提交,结果一直按原来的错误理解,一直错误下去。总结语,算是做ACM题的一些原则吧:

WA多次后一定要再回去好好读题,要忠于题意,实在理解不清楚且时间有限时就分版本狂交。”

主要原因就以上几个,希望能够给大家带来点东西。同时也希望自己能够真正吃一垫,长一智。像这次的I一样,不是过于奢望,而是原本应该做出来的,在自己能力范围以内的,却因为这样或者那样的原因没有做出来,就不是特别可惜,而是相当可惜了。如果因此而与冠军失之交臂,那又是何等的悔恨。

不过还好,虽然我的I题没有出来,但我们还是保住了冠军。看来最后RP还是很照顾我的,要不然我可要自责相当长的一段时间了。^_^

 

8、以后的路

 

       这次的夺冠确实是为自己的ACM生涯划上了美丽的一笔,但同时也反映了自己的不少问题。正如前文所说,我过的两题都是大水题,比较有价值的I却做不出来。以这样的实力,4+2时是肯定完蛋的。郭老师在颁奖完也对我们说,这次的比赛并不重要,重要的是4+2,重要的是能否到亚洲各个国家旅游。这个道理我当然懂,我也一直清楚最重要的比赛是4+2。东哥那晚在BBS上说的那句很意味深长的但从他嘴里说出来让人听起来特别别扭的不过我还是听得很认真的而且也是很让我深思的话,我会一直铭记于心的。我那个最大的梦想,几年来的梦想,正在指引我,鼓励我,监督我。Fighting for it

 

9、鸣谢队友

 

       谢谢我的队友bugAesop,这两年和你们的合作真的是相当愉快。郭老师在会后对我们说,没有想到我们能拿第一。或许是因为我和Aesop的实力都比较有限,我们三个人的实力之和不如许多队。但我们的合作无间,使得我们真正做到了1+1+1 > 3,甚至是1+1+1 >> 3,这在!Haagen-Dazs! 起就得到了验证,现在变得更为牢靠。这样的默契和合作,让我的ACM变得无比有趣和快乐。

特别感谢bug,没有你我们不可能有这样的成就。希望以后你可以取得更大的成就,更上一层楼,争取到final为中大摘取第一块金牌。当然,最好我也能够有此殊荣陪你同去啦 ^_^

Aesop我和你算是患难兄弟了,去年的4+2我和你一起痛苦。我们一起努力吧,争取今年4+2时我们能够一起兴奋。

两年来,和你们一起吹水,一起讨论,一起参加SRM,组建了!Haagen-Dazs!!Atlantis!参加省赛,给我带来了很多宝贵的东西,那是我ACM生涯中的无价宝,同时也是我人生中的无价宝。

ACM,真的很好玩。

 

10、历程&谢幕

2005年:

   20053月:Royal 成立

某慕尼黑会议上……

bug   我不管了,立方跟zhirong随便留一个给我就行……

zhirong: 我也不管了,bug跟立方随便留一个给我就行……

立方:我也不管了,bugzhirong随便留一个给我就行……

   200536日:第一次组队参加STU比赛:Lead us to a Good Beginning (Four Univ.-Union Monthly Contest) 第一名(正如比赛名字:Good Beginning

   20054月:Royal更名为 !Haagen-Dazs!

2005423日:ZSUCPC2005 预选赛 第一名

2005515日:ZSUCPC2005 && GDCPC2005 一等奖第四名

2006年:

20063月:!Haagen-Dazs! 原班人马再次出动,!Atlantis! 成立

2006326日:ZSUCPC2006 预选赛 第三名

2006514日:ZSUCPC2006 && GDCPC2006 第一名

GDCPC2006上夺冠,!Haagen-Dazs! !Atlantis! 完美谢幕

 

想起OI时代,让我一直津津乐道的,是GDOI-Z4

我相信以后想起ACM时代,我也会很兴奋的提起 !Atlantis!

!Atlantis! —— 我心中永远不沉没的帝国。

 

(完)
3月29日

我的ACM故事(5):相信奇迹,相信RP —— 记!Atlantis!的06中大预选 (1/3)

我的ACM故事(5)

亚特兰蒂斯征途(上):相信奇迹,相信RP

———— !Atlantis!06中大预选

1

上周才刚刚告别05赛季的集训队,这周就马上开始ZSUCPC2006的预选了。回忆起去年的ZSUCPC2005,仍然感觉很近很近。不觉间,我的ACM故事也已经写到第5篇了,真是感慨万分啊。

今年,我们哈根达斯原班人马再次倾情出动,在讨论新队名的时候,否定了!Haagen-Dazs! Pro(哈根达斯专业版)和!Haagen-Dazs! SE(哈根达斯II:加价不加料)等名字后,决定脱胎换骨,雪糕销售商摇身一变,变成一个传说中的失落帝国——!Atlantis!(亚特兰蒂斯)。从此,我们正式踏上了去往亚特兰蒂斯的征途——又一个追梦的历程。

 

2

征途第一站是预选热身赛。在预选之前,我们只拿了这个热身赛来做组队配合练习。可惜结果并不如意。此时不禁让我想起去年,哈根达斯刚成立后的第一仗就打得相当出色——取得了汕大OJ某次比赛的第一。那次比赛的名字叫“Lead us to a good beginning”。结果就真如那名字一样,极大地鼓舞了我们。从那以后,哈根达斯就一直春风得意。

似乎这次亚特兰蒂斯要吃点苦头了。由于热身赛第二天就是预选了,不能让它影响心情,于是三人都参加了凌晨1点的SRM。结果热身赛失意的bugSRM中重夺RP,取得了所在room的第三(DIV 1),由于这次是有M的,所以bug又有$$进帐了。羡慕啊……

我就没有这么幸运了。这次DIV 2的题可谓是相当简单,而我的coding却突然出奇的慢,结果coding phase结束后我才排第5,拿M愿望落空。本来已经够失落了,没想到SYSTEST后居然Fail250,原因是打错一个字母,狂ft……FailDIV 2250真是相当丢脸……那晚就在这样忐忑不安的心情下睡着了。

3

准时11点起来。此时志荣发短信来说已经在吃饭了,于是原定的聚餐就取消了,各自吃饭后再集中过去。后来bug没收到我的短信,结果要自己一个人吃面,当时真是感到挺对不起他的,这队长也当得太差了……@_@

后来一起走过去的时候,bug定了两条总方针,第一条是“一定不要拿第一”(看来是去年BG怕了),第二条是“最好能保住三甲”。后来我觉得这样的方针不利于调动团队积极性,于是就改成“最好不要拿第一”和“一定要保住三甲”,感觉这样比较鼓舞,于是就这么定了。

比赛开始前又是到处闲逛,吹水。小熊找sniper打赌,看谁能最快出第一题,赢的要BG,我也跟着凑热闹。后来比赛又要推迟,不过才15分钟,比上年好,不用那么郁闷地斗扫雷了。不久后比赛就要开始了,由于只顾吹水,没做好心理准备,突然感到一点紧张……

4

       为方便叙述,首先介绍一下各题:

       A:给你两组字符串,要求找出在第一组而不在第二组的字符串的个数;

B:求几个区间的所有数的和,采取b进制无进位加法;

C:给出一个关系集和变量之间的关系,问你里面是否存在冲突;

D:给你一个含通配符?*的字串,问你另一组字串中能表示成该串的个数;

E:给你n个字串,将这些字串连接在一起成为新的长串,求这样的长串中字典序最小的那个;

F:求[1..n]中与n的最大公约数不小于m的数的个数

G:太水了,略

 

( to be continued... )

我的ACM故事(5):相信奇迹,相信RP—— 记!Atlantis!的06中大预选 ( 2/3 )

我的ACM故事(5)

亚特兰蒂斯征途(上):相信奇迹,相信RP

———— !Atlantis!06中大预选

 

5

比赛开始后就分题各自阅读,他们两个各拿一份打印版,而我则在电脑上看题。很快地,我发现了G题是水题,正开始构思时,发现小熊已经开敲了(他们坐我们前面的前面,sniper坐我们旁边)。不能输给他,于是我也立马开始code了。还没敲完,就听到前面一声“Yes!”,不愧为是新一代水王小熊啊,才6分钟武当老柴就过题了。两年都是他做出第一题,不爽……我似乎受昨晚影响,敲得比较慢,过G的时候前面已经有6支队左右了。由此可见我又忘了HQM老大的话了,比赛时不应该想比赛前的东西的。{ RPnormal }

 后来好像是志荣上来敲E,我则开始看其它题。很快地,前面又一声欢呼:武当老柴过第二题了。感觉有点被牵着走了,郁闷。后来得知过的是志荣手上的E,就放心交给他继续code了。结果却意外的WA了。于是我便过来问一下算法,志荣说把字符串排序一下就行了,我却觉得有反例。志荣说是bug提出来的,我看bug挺肯定的样子,就没理算法了,帮志荣看会不会写错什么或有trick。当时担心是scanf的问题,改成gets,还是WA;以为字符串可能含空格,再处理一下,还是WA……全队RP骤降。{ RPlow }

WA3次后,过2题的队已经很多了,武当老柴在又一声欢呼后也3题了。而这题其它队都很快过的,我们的罚时可真是浪费了……无奈之下,只好暂时放下这题,让bug上去敲D,我来看武当老柴过的第3A{ RPlower }

bug敲完D后,发现样例好像有错,于是去问评委。得到了肯定的答复后,bug就叫我把D交上去。结果在评委宣布改D题样例数据时,我们已经过D了。刷新一下排名,名次已经很后了,但由于有D的优势,而AE都是水题,追回三甲还是有希望的。幸好我们被题卡住时能够及时放下,否则可能会卡得更惨。{ RPnormal } 

bugD后我就上去敲A了。用STL很快敲完后,交上去居然又WA了。看来这时RP真是太低啦。重新读了一会题,以为自己理解错,按另一种理解敲完交上去,还是WA。后来发现原来的理解是对的,错在哪里就变得莫名其妙了。郁闷了一会后,bug指出了我用map的一处错误(当时感叹:STL没学好啊),惊喜地改过来了,结果还是WA……崩溃……又暂时放弃A了。{ RPlower }

此时武当老柴、EncoreEntropy4题了,我们还是2题,我的A和志荣的E都被卡住了,还找不到错,真是超级郁闷……{ RPlowest }

后来bug上去重写E,准备再次提交时,我叫他们再好好想清楚。幸好在我这个队长的英明指导下,志荣很快找出了反例,证实了bug的算法是错了,原来志荣一直被bug误导了……bug面壁的同时志荣用搜索重写了E,结果一交,AC。于是bug又欠我们一顿BG了。{ RPlow }

RP理论真是不可思议。在志荣过E没多久,我马上注意了A题的insensitive。其实之前我也读到了,只不过像胖仔等大多数人一样,习惯性地以为是对大小写敏感。最FT的是我当时还问bug那个map是不是区分大小写的呢。此时让我看到了该死的“in”,加上这个处理后,A题总算过掉了。真没想到会有如此不细心的时候……该好好反省。{ RPnormal }

此时我们4题了,RP回升了一点。但因AE浪费罚时太多(尤其是E,别的队都很快过),排名仅在第67左右,拿三甲变得非常困难。此时志荣看B,我看Fbug主要看C,但也会帮我看看F     { RPlow }

后来志荣上去敲B,我则继续想F。不久后志荣写不下去了,而我则想了F的一个不成熟的搜索算法,为了充分利用机时,就先上去敲了。志荣和bug则一起攻B。我由于之前没想清楚,敲得很慢,结果连样例也过不了。调试一段时间后,过了前两个样例,但最后一个仍然过不了。郁闷……我又犯了去年4+2的错误,还没规划好就上去敲了,这样很容易造成思维混乱。  { RPlower }

好长时间我们都没有进展,Entropy居然6题了,Encore和武当老柴各5题,我们还是4题。由于罚时多,要拿三甲一定要出多两题才行。时间非常有限,出两题可是相当困难了……  { RPlowest }

离比赛还有一个小时左右,右上角传来一声惊人的欢呼,接着便看见Entropy全体起立,收拾东西:原来他们已经做完7题,收工了。无语啊……原本已经脆弱的心灵再次受到打击……RP已经跌到最低谷了。 { RPlowest - }

志荣好像忍不住了,把B交给bug后,问了一下我的算法,觉得很有问题,但此时bug写不了B,于是我还是硬着头皮上,结果还是徒劳。此时除了Entropy全过外,Encore也过6题了,武当老柴5题排第三。时间只剩下半个小时了,过一道还是有希望的(B题已经有想法了),但过两道似乎接近Impossible了……{ RPlowest --  }

后来bug规划好B便上来敲了,我继续下去想F。志荣对我的方法提出更多的质疑,我也打算放弃了。此时即使有新的更好的算法,也没时间实验了。郁闷啊,保不住三甲了……虽然HQM老大曾教导过比赛时不要想比赛后的东西,但我还是不可避免地想象假如保不住三甲,而且还输给第一名两题的话,对我以及我们对会是怎样的一个打击……怎么会有这样的事情发生啊……我无法接受。我的RP呢,什么时候才来拯救我??   { RP:?  }

 

  ( to be continued...)

我的ACM故事(5):相信奇迹,相信RP —— 记!Atlantis!的06中大预选 (3/3)

我的ACM故事(5)

亚特兰蒂斯征途(上):相信奇迹,相信RP

———— !Atlantis!06中大预选

6

奇迹开始发生了。

bugB的时候,我突然翻到了数论书上的一个定理,那个定理似乎对F极有帮助。此时的我开始紧张了,连忙告诉志荣,志荣拿了几个数据来试,却得不到正确结果。此时志荣似乎已经完全不敢奢望6题了,只想bug过了B5题就够了。但我却不死心。我深信那定理是有用的,虽然反例摆在面前。我的执著证明了我是对的:志荣记错了欧拉函数。经过再次验证,该定理确实是有用的。F题的希望来了……

看一下时间,15分钟。bug在调试B。虽然已经知道F的定理,但仍需要一定的coding时间。要想拿6题,除非bug5分钟之内过了B,然后5分钟敲完F3分钟调试,2分钟提交。这看起来似乎有点天方夜谭,但我坚信impossible is nothing。我内心的血液已经开始变得澎湃起来。

奇迹看来真的发生了。bugB过样例后,向我们要数据,我叫他直接submit好了,不管罚时了,时间宝贵。结果居然一次AC了。此时时间还有12分钟。关键时刻,咱们的bug还是靠得住的!

接下来就完全看我了,内心可是多么的紧张和激动啊!敲键盘的手都在抖了。幸好关键时候我的coding也是靠得住的,很快敲完之后,看了下时间,还剩7分钟。赶紧开始调试!!把样例一贴,全错 _ 。此时还有630秒。调试了一段时间后,时间剩下4分钟,样例还是一个不过!!但找不到错了啊……我更加紧张了,鼠标都抓不稳了!

3分钟的时候,我突然发现我在深搜的时候打错了一个数组下标!!把深度变量d错打成了循环变量i!!晕!!这个bug也太夸张了吧!!但找到了就是好事啊。把这个改过来之后,运行,过样例!!!此时bug和志荣似乎也兴奋起来,马上叫我:交!!!

我稳定自己的情绪后,对着VC++,按下Ctrl+A,再按Ctrl+C,再用鼠标点到F的提交窗口,按下Ctrl+V,输入密码,然后把鼠标移到Submit按钮,轻轻按下……

Submitting.......

我们三个都屏住了呼吸……希望能看到绿色……结果却是红色的……而且还是W开头……惨了……

后来发现是Wating,我FT。关键时刻,怎能Wating?再刷一次,还是Wating。再刷一次,又是Wating。喂,别开玩笑啦……刷第四次后,终于不是Wating了,但却是另一个让我们吓了半死的Running……惨啦,我的程序复杂度真的很难估计,该不会真的TLE了吧,如果TLE了那就要死心了……

最后再刷一次……此时已经不是红色了!!而是绿色的Accepted!!!我当即忍不住拍桌尖叫,我们全队也都沸腾起来了!!我们相互击掌,相互拥抱,那可不是一般的兴奋,而是相当兴奋了!!!这种感觉,19年来只在GDOI2003和去年的预选赛上体验过……用亢奋来形容也不为过。

后来武当老柴也帮我们鼓掌了,此时剩下210秒,我们保住了三甲,也保住了东校区第一。接下来的时间里,我都一直处于兴奋状态,一直持续了好久,好久……

7

       比赛最终还是保住了三甲,成绩还可以接受。总的来说,我们队继承了哈根达斯的优良传统,整体配合还是相当好的。这次暴露的主要问题是读题还是不够仔细、思考问题不够谨慎,以及作决定时过于仓促。这体现在AE题的罚时,以及F题浪费的机时上。

       比赛完后的FB就略去了。唯一值得一提的是,如果最后没有保住三甲,恐怕我也没什么心情FB了。如果只有4题,那就更痛心了。这次的反差真是相当大,比去年还大。虽然去年也是前面很郁闷,后来很兴奋,但今年的郁闷程度是比去年要大得多的。尤其是在最后半小时,要想保住三甲,还要再过两道题,而那时的F还没找到公式,bugB还没完全规划好。在当时看来真的是不可能。

       我也无法解释清楚,为什么去年和今年都发生了最后爆RP的奇迹。小熊曾经开玩笑地说过,我总是会在最后爆RP的。想想好像是,去年的预选赛、省赛以及4+2都是例子。但遗憾的是,这种事件却未能发生在最重要的成都赛区比赛上。我不知道那会不会是因为那时最后的G不是我来敲的,我只知道RP这东西与奇迹一样,都是可欲而不可求的。

我们不能依赖RP,而要努力拥有真正的实力。但在你比赛失意的时候,在你即将灰心、即将放弃的时候,不妨相信奇迹,相信RP

最后,我坚信,亚特兰蒂斯会在省赛再次创造奇迹的。失落已久的帝国,是时候苏醒了。

(完)

1月29日

哈哈,终于图了个吉利啦~~记事本编写,一次AC~~^_^

 
Cubic 1844 Accepted 60K 0MS C++ 0.21K 2006-01-29 02:59:35
 
记事本编写,一次AC,应该是做BC题最完美的成绩了 ^_^
而且此题也不完全BC,还算是有点数学上的分析。读完题后马上想到正确的做法,而且从读题到coding,思路一直非常清晰,由于代码很短,于是尝试用记事本编写(与直接submit是一样的),结果一次AC,可谓是一个非常吉利的兆头,希望能够给狗年的ACM真正带来好运!! ~^o^~
 

狗年第一题。。。发上这里来纪念一下,呵呵~~

 
Cubic 2726 Accepted 208K 156MS G++ 1.31K 2006-01-29 02:29:12.0
 

找了一道BC题,原本想一次AC,图个吉利,结果不小心WA了两次。。。不是太好的兆头,呵呵。。。不过没关系啦,最后还是AC了,希望能给自己狗年的ACM开个好头!

狗年的ACM是最重要的ACM,在这里预祝自己能够达成心愿!

God bless me!Best RP follow me!

 

1月27日

开始闭关 ● A good beginning

        寒假已经过去一半,该堕落的也堕落了,现在是时候开始好好闭关修行了。
        今晚是第一晚,一口气切了6题,可谓一个好的开始。虽然都是简单题,但至少找回一点感觉。
        Space刚建立之初就有位朋友对我说了一句,不要经常把奋斗挂在嘴边。
        嗯,没错,煸情的话我就不再发表了,让剩下的半个寒假去说吧。
 
 
p.s.:或许有不少朋友看不懂,这里简单说明一下。我的闭关修行主要是指ACM,因为这个寒假对我的ACM前程影响是极大的,所以非常重要。就像上个暑假那样,由于险些惨败选拔赛,整个暑假都笼罩在ACM的险影之下,天天都是做题、看算法书、读相关论文。而这次由于成都赛区一样是惨败,所以这个寒假也必须像那个暑假那样努力才行。大三是我的ACM生涯最重要的一年,如果这年没有把握好,或许我会饮恨终生的。
1月20日

今晚第一次参加TopCoder的Single Round Match

      好久没有code了。今晚是几个月来第一次正式参加网上比赛,也是第一次参加TopCoder的Single Round Match。

      TopCoder(TCO)是目前网上最出名的有关程序设计的比赛,汇聚了全世界一流的、顶尖的编程高手,不过也包括像我这样的菜鸟。用来区分牛人和菜鸟的数据叫Rating。Rating是TopCoder上用来统计成绩的,分为好几种颜色,0-899是灰色,900-1199是绿色,1200-1499是紫色,1500-2199是黄色的,2200以上是红色。不同的颜色代表不同的档次,而红色的就是大牛中的大牛:)。

      TCO中的Single Round Match(SRM)则是其中的一个算法比赛,和ACM最为接近。SRM分为两组,Division 1和Division 2。Div 1是牛人聚居的地方,Rating上1200的必须参加。而小于1200的当然就去Div 2了。

      每个Div都分成好几间Room,每间Room 20人左右,比赛的时候每一个Room独自排名。Div 2里有很多菜鸟,上次bug和aesop第一次参加就夺得了Div 2 的 Room leader(某间Room的第一),而那次的SRM刚好是有赞助的,于是他们都分别拿了$39(折算成人民币有三百大元啊!!),羡慕死了……但由于每拿一次好名次Rating都会上去,所以一般只有一两次机会能在Div2里参加,也就是说只有极少的一两次机会能拿到奖金。于是在Div2里最惨的名次就是第3名了(前两名都有奖),不仅拿不到奖,还以后都参加不了Div2。

      今晚是我一次参加SRM,当时对自己的要求是势必要拿奖金,因为bug和志荣都已经到手了。比赛刚开始的时候真的好紧张,而且很不熟练,花了一阵才熟悉起来,而这个SRM就是一场battle of time,慢几分钟可能就会输了。于是熟练度尤为关键,可惜这恰好是我的劣势。

      比赛结果出来了,我得了最差的名次——第3。Rating 1520,也就是下次无法参加Div 2了。心情真是复杂啊。一方面为自己的名次感到高兴,毕竟是这么久没有code过了,而且我的第二题pass了,整个room就两三个人pass。这点让我找回了一点自信,感到十分欣慰。 

      遗憾的是,另一方面,我得了第3,这次拿不了奖金,下次也拿不了,以后也没什么机会了。回想起bug和zhirong他们那时room leader的称号,现在真是感到莫大的遗憾。

      算了,我真正要的也不是奖金,而是成就而已。正如我那位孟加拉的朋友所说,"you become yellow in only 1 match"。