[存档]xx-09210xxx-2011-ACM-ICPC竞赛总结
存档作对比。发现完全没进步啊,惭愧。
====
ACM-ICPC亚洲区预选赛
分区赛竞赛个人总结
2011年赛季
1. 个人训练情况
⒈训练的数量与质量情况
做题数量:
ural 213题;buptoj 204题;hdu 76题;pku 52题;zju 14题;其它杂七杂八oj以及codeforces和topcoder等约50题。
题目分类:
主要做的题目类型有:计算几何题、数学题、dp题、图论杂题。
经常参加的比赛:
暑期多校联合训练、浙大月赛、topcoder、codeforces。
⒉个人能力的特点的演进
因为队内分工缘故,在数学题、构造题、考察想法的杂题上有优势,对于一些中等难度的几何题比较熟悉。总结来说,就是在对数学构造思维要求较高的题目上有优势。之所以在这些题目上有优势,主要是凭借高中数学竞赛锻炼出的扎实的数学基础,以及平时勤于思考之缘故。这些题(几何题除外)大多不是模板题,代码不长,但思路巧妙,需要长期的数学训练来锻炼感觉与发散思维。
同样是由于队内分工缘故,需要套模型的图论(网络流)是劣势,许多模型没有见过。训练精力大部分花在前述擅长的题目上。准备今年补一补。
⒊训练体会
第二年参加acm比赛,训练体会已然不是具体的算法层面,而是在学习方法上:引用孔子的一句话“学而不思则惘,思而不学则殆”。训练应该讲求效率,一味自己苦思冥想或者一直看论文做题都是不可取的。
acm比赛对于知识覆盖面的要求既广且深,因此训练时常常遇到瓶颈,这时候就应该选择是继续自己思考还是找相关资料去学习。我们应该锻炼这样的洞察力:在思考一定时间没结果后,若感觉是算法广度上的缺漏后,应该果断上网找资料去学习;若感觉是自己思维的深度不够时,应该先把问题记下来,然后放一放,去做做其它的问题,有时其它的题目有触类旁通的效果,或者学长一句不经意的指点,就能把这个问题顺带解决。
当然,这样的洞察力非常难培养,只有平时遇到瓶颈时多注意,解决问题后多反思。感觉09级在这方面吃了很大亏,训练虽然比较勤奋但是方向性不太明确。
2. 平时训练情况
⒈个人训练情况
明确本人在队伍中的分工后,个人训练时主攻如下类型的题目:几何题、数学题、考察想法的杂题,辅攻dp题。
经过一定量的训练后,效果比较显著:计算几何题,从完全不会到能做下中等难度的题目,并掌握了扫描线等计算几何的常用算法和模型;数学题,了解了更多的数学算法,特别是数论方面,对个人整体的思维能力提升有很大的提升;杂题,同样是锻炼了个人的思维能力。
个人训练做的比较多oj的是ural,其题目有着典型的东欧题特点:模板题少,要求思路开阔,纵使需要模板也要对题目进行一定转化。另外数据强,trick多,因此要求思路严谨。该oj比较适合我在队中的定位,因此主要在此oj上训练。
⒉组队训练情况
平时基本保证每周一场比赛,暑期可以达到每天一练。经常参加的比赛有ural的比赛、多校暑期联合训练及浙大月赛。没有网赛时找过去的区域赛进行模拟比赛。
在团队中主要负责读题、思考算法、抠细节和出数据,除水题和几何题外一般不上机敲代码,具体的敲代码任务主要由两位队友完成。主攻算法方向如前面所述,另外两名队友则是:马x主要负责数据结构题和图论题,辅助做简单数学题,孙xx负责dp和字符串以及杂七杂八的模拟题。这种分工模式从组队来的两年一直延续下来,算是比较成熟(但因此也成为了我们队的定势,导致福州站的惨败)。
⒊团队训练体会
在算法掌握的广度方面,两位队友对自己的知识面形成了互补。另外,由于主攻的算法面不同,在做一些杂题时(本队杂题主要由我负责),队友往往能从不同的角度看待问题,提供一些思路,虽然不一定切中要害,但往往是非常好的启发。
队友中,孙xx属于思路比较依靠直觉,直觉精准时常切中要害,但是缺陷就在于不够严谨,也时有状态不稳定的时候。马x做题则比较依靠经验,如果有见过类似的题目就会非常快思考出解法,但若题目有提高要求或变形时则较难适应(福州赛E题就是一例),另外有时会纠缠于一些极其琐碎的细节而导致速度上的问题。我则比较倾向随机应变,但也因此时有对许多结论不熟悉导致时常要查资料甚至做不出来的情况。
3. 网络预赛情况
⒈几个赛区网络预赛题目与本队的适应情况
大连赛区:
总体上不太适应。题目涉及到一些高级数据结构(大代码量)和一个思路比较讨巧的树形dp,都不是本队长项。
上海赛区:
极其不适应。但凡是复旦大学的题目我们队都不适应。复旦大学的题目较少模板题,常有一些非常讨巧的trick,且数学味道较浓厚(但又不是正规数学题),偏向东欧的风格。虽然我经常做ural的题目但是还是无法适应这种类型的题目,两位队友就更不用说。
成都赛区:
这场比赛适应还算不错。不过由于错误率较高,题目的区分度不太好,加上题意不明或反复更改导致排名不是太高。
福州赛区:
题目风格适应的最好的一场网赛(和现场赛有鲜明反差)。虽然有一道题因为oj莫名其妙的原因直到最后时刻才通过,另外一道题目因为读错题而始终Wrong Answer。
另外,感觉赛后队伍之间的交流确实十分重要,长期在一个队伍,思路也容易受到队友引导,而别的队伍不同的思维方式能给人以很大启发。印象较深刻的就是大连赛区网赛的树形dp(还是大二的学弟教给集训队其他人的),及福州赛区始终Wrong Answer的题目(和孙宇骐他们队交流后才发现题目读错,而且他们用了个更优化的模型来解决此问题,而之后我们队认真讨论了此类模型和思路:即判定性问题和最优化问题之间的转化。事实证明这个思路在之后许多训练比赛中应用非常广泛)。
⒉本队网赛成绩分析
前期的水题最终都能做出,但我们队往往起步早但出题慢(错误率较高)。中后期解出的题目大多是我们比较熟悉的线段树、线性dp、数学、概率、博弈、字串匹配等问题,一言蔽之整体还是比较依靠做题经验作战,对于不熟悉的题目没有勇气和信心来挑战(这一点我们和孙宇骐队有差距),我虽然思路比较开阔但毕竟不可能时刻处于很好的状态。
⒊其他学校的成绩情况
毫无疑问,今年的多校几乎是电子科大一骑绝尘的一年。其余学校老队员的退役,加上他们自身实力的强大,使得电子科大已经成为多校联合训练中最强的学校。和电子科大的一名队员(UESTC_Obsidian)在网上的长期交流,发现他们胜利有三个重要原因:极高的训练强度(从大一开始的积极训练,组队后平时上课时也能达到每天一练),良好的队内交流氛围以及扎实的数学功底(主力队员来自计算机系和数学系)。最让我欣赏的是他们长期的训练磨练出来的自信心,在某次训练赛的交手后,他告诉我们他们可以在中期3人分卡3题的情况下后来居上,由此可见他们的训练强度多么恐怖。福州回北京的火车上恰好遇到电子科大的一名队员证实了这一点,他们几乎是放弃了课内学习来参加acm竞赛(当然并不是说这点值得学习,只是非常钦佩他们的精神)。
⒋应对今后网赛的建议
不好说,由于我们队组队模式,队员角色比较固定,我即使以后进入别的队伍可能还是担当原来的角色。只能等组成新的队伍后再说了。
4. 现场决赛情况
⒈赛题特点分析与本队的适应情况
大连:
风格适应得比较好的比赛。按照房老师的说法也是近年来最风平浪静的一场比赛。练习赛一切正常,该测试的比赛环境都测试好了。比赛时虽然一如既往地慢热(水题开得快过得慢),不过也在一个小时后进入了比赛节奏。我拿到两道浙大风格的很纯正的数学题(模型不太好想,但思路比较清晰,坑也少),孙xx拿到了一个自动机dp,都是比较熟悉的题型,没有太大阻碍就过了。唯一地在马x负责的数据结构的题上遇到了点小麻烦,在孙xx的帮助下也通过了。而最后一题同样“很符合本队风格地”由我很快想出了大致思路,但由于细节较多,码量较大且开局慢热而导致敲不完(这几乎是我们队的通病了)。这一场比赛虽然过题速度较慢,但没有真正意义上的被卡,顺风顺水,心态也很平和。凭心而论本场比赛是经验的胜利,发挥出了本队应有的实力。
福州:
和大连完全相反,风格适应地很不好的比赛(其实北大这种算法明确但挖坑特别多的赛题风格之前就很不喜欢,甚至厌恶而导致不在poj上练习,现在想想这是很愚蠢的行为)。练习赛时并没有太大问题,可是有着大连比赛的成绩,去过大连的两只队伍都想做出更好的成绩,结果心态失衡,导致惨败。从读题开始就注定了本次比赛的悲剧。首先是觉得E做过类似的题而判为无思路难度仅有敲码难度的题,然后读完B和C,虽然有了大概思路但都觉得不是太水,于是正场比赛并不像房老师之前估计的那样有水题,于是心态就有点乱。然后发现A是个相对水的题目,就让孙xx上去敲代码,结果那天他的敲码状态奇差,前两个半小时几乎就在帮助他修改A题代码和尝试敲C的代码中度过。由于精力分散导致C题的细节怎么也调不对(自己出的样例都无法通过)。之后比赛的节奏就更加混乱,在跟孙xx说了B题的思路(因为我要看C的代码)后他去敲B(赛后想想这个决定很失策,明知他状态不好应该果断换人),结果B题也因为代码问题(某个地方把int写成bool)无法通过,马x在中间尝试了E题但无法通过(之前做过的类似的题目的思路在这里会超时)。到此,本队的心态完全崩溃,本来按照我们的组队模式,卡出3题已经是我们队的极限,我身为队长在这个时候没有及时调整心态,改变策略,直接导致了比赛的失利。当然,这也是因为平时根本没遇到过这种2个多小时才通过第一题的情况出现,我们队在赛场那种紧张的环境下无法处理这种问题。如果说大连的正常发挥是经验使然,那么本场的失利也是经验不足所致。可谓成也经验败也经验。
另外,注意到国内赛区的计算几何题基本都偏难,属于非常后期的题目(一般只有争冠队伍才会去碰),因此我这方面的算法优势基本上等于废掉,所以比较犹豫计算几何是否应该作为以后集训队训练的一个重要方向,如果只是简单的训练以应对水题和模板题又怕万一明年来一道中等难度的题目导致北邮集体哑火。
⒉赛后成绩分析
大连:
浙大的题目特点就是算法不太容易想,但一旦想好后思路比较清晰,对算法细节要求不高,代码不算太长,坑比较少,较为适合我们队的风格。基本上,会做的题得思路都比较清晰,而不会做的题(如那个计算几何)在赛后证实以当时的实力没个两三个小时做不出来。感觉本队的代码稳定度(另两名队员)及代码速度(我自己)仍有很大提升空间。唯有前期的题更快速更稳定地拿下,才能为后期的题目腾出时间来思考和敲码。
福州:
赛后回顾,觉得题目并不算太难,至少当时开的那4个题,是有能力做下来的。不过由于心态的严重失衡,导致慌乱,许多细节没想透(北大的题目考察细节很厉害),以至于惨拜。
⒊其他学校的成绩情况
电子科大确实强大……
⒋现场赛后的感言
虽然总是带着遗憾和不甘离开现场。不过这也是acm比赛的魅力所在。胜负自古兵家常事,过去的事就过去吧,积极准备明年再战。
5. 个人的小结
⒈本人总结性结论
优势:思维发散性强,思路广,数学功底好。劣势:算法面有缺陷(模板图论题和高级数据结构),敲码速度不够快(团队分工使然),在队中决策有时比较独断,容易导致一些失误。
⒉本人未来的设想
我心不死,对acm和算法的爱依旧,因此继续参加明年的训练和比赛。为此不打算考研或保研,可能的出国计划延后一年,算是放手一搏吧。
至于如何继续提高个人能力,由于之前的团队分工,在算法面上还有欠缺(特别是图论方面、字符串方面和高级数据结构方面),准备花半年时间将这些方面补全,使得知识面更广,思路能更发散。剩下来的半年用于组队磨合和比赛训练。
⒊对团队合作存在的问题和未来的设想
我们队组建已经有两年时间了,相对于09级的其他队伍时间都要长,因此在磨合上基本不存在问题,除了有时我比较独断凭感觉揽下某道题最后发现交给队友做更好。不过虽然团队磨合不存在问题,但是团队的缺陷还是比较明显的,主要表现在“挑题”(即团队依赖经验做题,成绩对题目风格有明显依赖)。这个我感觉是09的队伍普遍存在的问题。主要问题在于队际之间交流还是太少。不论是我高中参加信息学竞赛的学长还是大学参加acm竞赛的学长都反复强调交流的重要性,但显然我们做的还不够好(据我所知,电子科大在这点上是榜样,这应该也是他们如此强大的原因之一)。
因此我有一个设想:按照现在的情况来看,暑期集训的时候仅做多校比赛显然是无法满足训练强度的。不妨让各个队伍轮流出一套(或选现成的)本队擅长的题目让大家做完,然后固定一个时间段进行交流(我的高中就是这么做的),我相信提高会很显著的。
6. 建议与意见
⒈对校赛的建议
根据今年校赛的情况来看,比赛准备的时间应该更充分一些。
⒉对平时训练的建议(特别是团队合作与交流)
见5.个人小结的3.对团队合作存在的问题和未来的设想
⒊对老师的建议
无
⒋对推广ACM文化的建议
acm文化是一个比较宽泛的概念。从它的广延上来看,算法文化的魅力不小,把它推广向普通大众没什么问题。但从狭义上说,拥有天赋,热爱算法,愿意为竞赛付出乃至牺牲的人毕竟是极少数。这个就如同数学一样,大家都知道数学很美,但大部分人做起题来都觉得头疼。因此对于acm文化的推广主要还是在算法文化的层面,上升到竞赛的级别(目前也只有校赛)则一定要对参加的学生说清楚利害关系。虽然这样狭义的acm文化可能鲜为大众所知,但也因此能保证集训队的精英性。
另外,鉴于集训队队员平时基本都忙于训练和课业,因此大型活动宣传比较困难,比较适合的平台只有网络(如论坛算法板),可以进一步挖掘论坛宣传的可能性。
⒌对教学内容改进的建议
无
⒍其他的建议
无