2012-5-6

第37届ACM/ICPC金华赛区全国邀请赛,这应该是我第二次参加这种大型比赛(那个啥省赛就不算了。。)
5月5日星期天上午~也许这是我这学期以来起的最早的一天(我平时都是睡到中午的,哈哈),然后抱着反正要被虐的心态出发了。。。
坐了5个小时动车,还好,虽然有点晕,不过比我目测的要好很多。。。、
然后就是坑爹的热身赛了,热身赛已经开始一个半小时了。和devtang(唐爽)还有Acboy(王飞飞)紧张的进入了比赛场,意料之中的场上各种颜色的气球已经飘起来了,众多神犇们都在用他们400++的apm敲着代码,我们也快速的找到了自己位置~翻开题目一看只有3题,- -!
果断看A题,擦,二分幂取模~居然还会出这么水的题~笑,哥果断搞起一把,熟悉了一下键盘,爆发出100++众菜鸟的平均apm,8分钟~秒掉~还是很顺利的~
不错,至少热身赛不是光头了,然后打开board发现还有几个A题没过的队~- -。。。找到了一点小小的成就感。。
就在我玩着键盘的同时devtang和huihui把B题也看完了,原来题意很简单,是求两条边不相交的最短路,纳尼,这种感觉!!当年sphinx(鸟神)把哥忽悠去学图论,终终终终于要派上用场了!!哥的第一反映就是,这这这tm不就是最小费用流嘛!!!不过另哥蛋疼的是我居然忘带模板了,f*!!!就在这个时候,racebug出现了,晕= =!他不是教练嘛。。。教练不是不能来ac的嘛,管它呢,反正希望来了,开启教练模式(racebug语- -)!附:(教练模式:当参赛队员表示鸭梨山大的时候,他们的领队就有机会出现,有一定几率ak!)
不过。。。没带模板的哥还是逃脱不了裸敲最小费用流,裸敲是不难,问题是最小费用流好久好久好久没敲了。。。
racebug笑着说:“少年不要再挣扎了。。。哥教你怎么使用吉大模版”,F*。。
- -!开玩笑~老夫身经百战,怎么能被这种水费用牛虐~~
网络流的代码200行都是正常的~虽然敲的有点慢,可还是敲完了,输入样例居然过了~宝刀未老啊!!哈哈
然后直接提交,可是返回的是一个WA。。。(也就是wrong answer),我就纳闷了,怎么会wa呢,然后racebug给我出了一组最简单的数据,居然没过,- -。。。悲剧了,发现居然是改变流量的时候++和--的位置刚好写反了(记得以前也出过这个错误),再提交,还是WA,心凉了。。。不是吧。。。!
两次WA的打击,我一下次沉静了下来,racebug叫我仔细想什么细节有问题,片刻之后我明白了,原因是建图的时候出了一点bug,我忘了费用流里不光要建剩余图边,还要建逆向边。。。因为那是无向图,我自然而然的认为建好的两条边就是互为逆向的两条边(估计是坐车坐晕了)。。。稍稍的改了一下。。不出我所料,AC 3y~
C题直接被我们无视了,直接奔向食堂。。(racebug晚上用十几行不可思议的代码把它秒了,目测我要用一百多行)

热身赛就这样结束了,第二天是正式比赛,果断换装备(机械键盘+各种模版),呼吸灯一开~各种爆人品~(八哥语)
拿到题目就开始疯狂的看了,突然看到b题,树状dp?!我立即开始敲起来了,然后ts和huihui说A题很水,我目测我b也要敲一段时间就让ts开始敲A题,然后我用了20分钟把b的细节全部梳理了一遍,目测剩下的就是AC或者WA了。。
就等tsAC了。。我等啊等啊等。。A题居然tle了。。擦,当时真有点急了,怎么会出现这种意外,为什么连最水的题都被卡了,唉!然后我们就一起来找bug,我们分析了一下复杂度,即使用set比较慢也不可能会tle,数据量才30啊。。。
一个小时。。。。
一个半小时。。。。
二个小时。。。。
唉,时间已经过去很久了,无法在短时间内AC一场比赛中最简单的题目对一个队的信心的打击是非常大的,我知道这种情况我们可能已经无法进入前40了,甚至最坏的情况就是“打铁”了!
然后,一个弹窗出现了,说的是A题的测试数据有误,我们非常抱歉,A题的数据已经修正。
然后返回了很多yes。。。。很多很多yes。。。
准确的说,我们这道题目根本没有WA或则TLE过!第一次提交就是AC
可是时间已经过去了~
我一脚揣在了机箱上,如果可以的话我还想把屏幕砸了。。。
这不是我们的错,虽然知道已经没希望了可还是选择战斗到最后一秒!
B题,我愤怒的敲着键盘,每一个按键都很用力,机械键盘的声音本来就很大,我隐约感觉到对面南京大学几个人在往我这边看,我没管他们,15分钟,我敲好了B题,提交WA掉了,当时虽然很气可还是很冷静,我不相信这种树状dp我都ac不了,测试了几组数据没有问题,可能是int溢出,换成 64位int,18分钟 AC 2y!

2时40分钟。。。
我们出了两题,排名还是很靠后,因为这个时候绝大多数队都过了A和B,然后就是D和E,这些都是水题
接着换ts敲E题,E题是计算几何模版题,求一条射线最多和几个线段相交,虽然我不知道计算几何算法,可好歹以前也是做过很多平面几何题对它还是有感觉的
ts和说可以枚举每个端点,这样的话一定能包过所有的情况,这是对的,因为在旋转的过程中的突变点一定是某条线段的端点。
然后我就开始看其他的题,D题过的人很多,但是那种线段树真心没碰到过,我和huihui都没有什么想法

3时5分钟。。。
这时感觉在我能力范围之内的还有两道题
C题,是一道很奇怪的图论题,以前也根本没遇到过这种题
F题,是博弈搜索,计算了最坏情况下的复杂度,搜索+剪枝应该可以
虽然F题过的人更多,但我擅长的还是图论,不是说过的人多你就能过,也不是说过的人少你就a不掉
看了一下board只有7个队通过了c,分别是上交Seraphim和Epic,武大FreeJourney,宁波大学YXC,湖南大学Simpler,华东师范大学(软件学院)Freshman,国防科技大学TimeBomb
就算过的都是牛校,可我还是选择a这题

3时15分钟。。。
和huihui讨论了许久二人合力之下想出了一个复杂度在可接受范围内的算法,不过还是有一部分没有想清楚,就是后面的查询,查询的次数有20000次,也就是说每次必须在短时间内完成查询,而预处理所有查询的情况复杂度是O(n3)也就是10的9次方级别,铁定超时!
随后想到了一个在线算法,每次查询所需要的查找次数最坏的情况下是1000次,20000*1000 = 2 * 10^7,这个复杂度勉强可以接受,前面n次spfa预处理的复杂度大概也是 C*20000*1000 = 2C * 10 ^ 7,总复杂度是10^7次方级别

3时30分钟。。
E题还是一直WA,这时我开始敲C,虽然只有一个半小时了不过还是淡定的开了呼吸灯~

3时50分钟。。。
敲好了C题,样例通过,试了下各种恶心数据,都通过~很好,直接交
不过返回的是一个WA。。。
想了下可能和B一样要用int64,换成int64再次交,奇怪的是出现了TLE。。。
大概知道原因了,int64是必须用的,但是增加了复杂度的常数,导致超时
超时的最大可能就是spfa预处理的时候,所以我注释了查询部分,令我纠结的是返回的是wrong answer而不是TLE
一下次不知道怎么办了,然后换ts继续搞E。。。

4时25分钟。。。
E题还是没有过,我意识到C只要稍微优化一下就能过了,查询部分无法优化,spfa预处理的地方有Small Lable First和 Large Lable Last两种策略,第二种难写,果断用第一种,迅速的把优化加了上去,再试了几组测试数据,

4小时35分钟。。。
果断提交,居然返回runtime error!!汗,交错代码了。。
再交~

4小时37分钟。。。
很好,return yes!我们是100多个队里通过这题的第8个队!

剩余20分钟。。
全力帮ts debug,想了几组测试数据,几乎都没问题,可是交一次wa一次,计算几何是最容易wa的了,精度问题,越界问题,各种。。
我们依旧在挣扎。。直到最后5秒还交了两次。。。好吧还是wa

结束后。。

知道了最后只有9个队通过了C,除了我们,剩下的8个队都拿到金牌了,泪奔!
知道了很多过了3题的拿到了银牌,因为罚时太多我们这种过3题的只有铜牌,铜牌里靠前的吧,也算是一种安慰~
也知道了作为邻居的安大vector 23名拿了银牌。。。
不过这些都无所谓,就像当年打dota一样,每天都要有进步~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值