2008GDCPC 广东省省赛总结 BY Tiaotiao [BNUEP_int_ijk]
今年我们派去了5支队伍,应该说每支队伍都是有实力拿奖的,阵容很好很强大。比赛之前和队友讨论过策略,老师也下达了这次比赛期望的目标。虽然说去年参加过一次省赛,但是还是心里感觉很没底,其实我是希望能争取拿到一等奖,但是没敢说出来,毕竟强队太多,要拿好名次不容易。2号早上出发的时候我就一直感觉肚子痛,我一直觉得这是吉兆,为比赛积攒人品。
比赛过程:
进场的时候发现气球都堆在楼梯下面,我瞄了一眼发现紫色和浅绿色最多,对应到题目上就是AB两题,于是很高兴地跟队友说了。因为已经知道了简单题,尚鹏提议更改看题策略,我看先A,杨潇先看B,尚鹏从E开始看。
A题很短,但是热身赛时的经验告诉我不能马虎,怕题目有陷阱。于是我仔细读了题,尚鹏也读了一遍,发现并没有陷阱,真是个水题。我马上上去敲,大约在3分钟的时候秒杀掉了。
杨潇看完了B,给我讲了题意,也挺简单。我和杨潇讨论了一下,决定用并查集做。然后杨潇上去写,写的时候我在旁边帮他修正细节。尚鹏看见前面瞬间升起一个红气球,以为有人秒杀了F题(实际上是I题,看错颜色了),很兴奋地告诉我F题题意。然后有说J题很简单,可以做,可是数据规模很大,可能要用大数。B题提交了一次WA,感觉很奇怪。马上就发现我们合并两个集合的时候应该是将权值大的根节点挂在权值小的根下面,代码上却是直接比较的两个元素的权值。修改后又检查了一遍,提交AC了。
下来尚鹏把J考虑好了,觉得很简单,让杨潇去敲大数模板。我继续看其他题目。我看了C是蘑菇题,可以做;D的几何题比较没思路。这个时候杨潇敲模板遇到问题,停滞了一会儿。在处理两个0的情况的时候我们觉得不清楚,于是问裁判,结果没有得到回答。
杨潇告诉我很多人过了I题,于是我马上转去看I。题目看起来很长,读完题发现这个水题很隐蔽,要不是跟风估计很后面才看得到这个题。于是趁J题遇到困难的间隙,我上去写I,并让杨潇帮忙读了遍题。写完后发现不对,我调了好半天才发现原来是圆心的坐标敲错,修正后提交1Y了。
J题仍然处于一个不知道哪里错了的状态。我在纸上写C的代码。我告诉尚鹏说被11整除的数应该有规律,要是被模板卡了弄不出来就换种方法写。尚鹏说想到了可以怎么改,于是改去了,我继续写我C的代码。不一会儿J也1Y了。
这个时候我C的代码第三个版本已经差不多了,我换上去很快的敲C的代码,杨潇帮我考虑特殊情况和边界条件。我在纸上写的时候考虑到了坐标可能变成负的,果子有可能多次下落等情况,于是我用递归的形式来处理果子下落的过程。杨潇一遍看题一遍和我确认题目理解,然后随口问我如果一个很重的果子落下来会不会把下面的都挤掉。我突然发现这种情况没有考虑到。经过小小的修改,这个题也很快1Y了。我和杨潇都觉得很神奇。
这个时候差不多3小时了。本来打算过完水题的时候开的会一直没开,这个时候我们5题,三人交流了一下剩下的题目。我和杨潇一起写F题,和上次一样杨潇写了状态转换的函数,我实现了BFS。写的时候感觉不是很顺利,不过每个细节都都很快地被解决了。运行一下代码发现第二组数据要停顿一下才能出来,感觉很可能会TLE。提心吊胆地交上去,居然很意外地返回了一个Yes,很高兴。
快封版了,我们排在13,现在还剩下4个题目。尚鹏说那个数学题很难,不要花时间想了。最小生成树的题尚鹏说有想法,怕超时,不过想试试,再一想编码太复杂,估计也写不了。还剩下2题几何题也不是很有思路。最后一小时3人就一起攻E题。我们发现题目说没有两个环共有一条边。看起来很像树型DP,一个环可以抽象成一个点来处理,不过处理起来实在太麻烦,三人最后一小时一直没弄出来。还剩15分钟的时候就开始收拾东西了……
后记:
比赛结束后我们最终排名14,二等奖,学校排名第五,拿到一块牌。老师最初定的三个目标达成了2个。有一支队由于第一次参赛很遗憾没有拿到奖。
这次感觉我们三人的状态都还好,起码我自己感觉状态还不错。比赛过程中没有出现大的失误或策略上大的偏差。
比赛题目不是很有技巧性,也不是很考算法,感觉主要是考编码能力。做出来的6个题目都没什么亮点,剩下的4个题目也都有一些想法但是没能实现。还是要多写难题才行。