比赛从中午12点到下午5点,总共有160支参赛队伍,包含10道题目,难易都有,是一场合适的比赛。
该比赛题目及最终做题情况如下:
Problem ID |
Title |
Source |
AC |
Submit |
|
Problem A |
81 |
680 |
|||
Problem B |
17 |
177 |
|||
Problem C |
3 |
66 |
|||
Problem D |
19 |
165 |
|||
Problem E |
65 |
551 |
|||
Problem F |
115 |
326 |
|||
Problem G |
6 |
122 |
|||
Problem H |
80 |
239 |
|||
Problem I |
47 |
189 |
|||
Problem J |
140 |
193 |
先说下我队整体感知(按照大致AC顺序):
J、H、A属于水题,我队很快就做了出来。其中A题(判断IP地址是否合法)有个坑点,坑了几次被我们找了出来,属于考虑问题不全面。
F题略微思考就能发现关键是求所有数的最大公约数,不是很难。
E这道题目是计算两个日期之间有多少天数,也不是很难,只是有点麻烦。
I题考察利用三角函数计算多边形面积,我们首先用一种取巧的方法(后来发现规律不正确),提交了几次也不知道为什么错误,用最近冒出来的一句话说,就是“简直怀疑人生”……后来放弃了规律,用笨方法,脚踏实地的算,居然AC了,又惊又喜,真是不容易。
D题最爽,我队主力队员看到后,秒出思路,裸打线段树,一次AC!直感叹为什么这道题目没最开始做?!
B、C、G这三道题目太难,我队没能做出来。G题我队尝试了一下,超时且没有更好的思路;C题被队友果断放弃;B题有少数队伍做出来,然而我们尝试了N次,直到最后也没能把它A掉,一会详细说一下。
我主要参与了B、F、I三道题目,F与I这两道题目我把思路与队友一说,并无异议,就直接敲上了代码。
B题是我感觉最苦逼的一道题,我花在本题的时间最多,几乎从一开始就投入进去,而且在我们队完成7道题目后,最后一个多小时研究它也没能解决。大意是:
有一个二维地图,每个点有若干黄金,两个人从左上角到右下角,可以把经过的点的黄金拿走,求最多能拿多少。
本以为并不难,求两次动态规划不就行了吗?WA后发现不对,这个方法从根本上就是错的,得益于一个很巧妙的样例(我随手写的,居然挺实用……):
按照DP思路:
结果应为12+5=17,然而正确结果为19!如下(10+9=19):
也就是说如果分两次计算是不行的。后来我们又研究了多种思路,都WA了,也都被我们自己推翻了。
个人总结:
实力来源于平时的积累。
如果平时积累了此类问题的经验,赛场上就能发挥出来。例如D,我队大神简直秒杀,而排名在我们前面的队伍却错了4次才AC;而他们队伍却秒杀了B题,所以排在我们前面……
郑州轻工业大学“玲珑杯ACM程序设计比赛”
“这队名高端大气上档次”队员
XXX
2016年4月17日星期日