厦门理工第五届程序设计大赛
比赛日志
时间:12月21日 9:00:00-12:30:00(单人赛,共有181位参赛者)
A题 PK赛(AC:143人次)
这道题在大二下学《数学模型》时遇到过,有计算公式。比赛时,我竟然用循环运算……不过无所谓啦,用时90秒AC。
计算公式是。
C题 木棒还原(AC:28人次)
做完A题后,犹豫了下,翻了题目册,凭直觉觉得第C题简单,就开始做了。 做这题时就感觉自己运气真好,昨天正好理清了C++的sort、erase怎么用(以前一直不熟练),今天就派上用场了。
思路是每次对所有木棒排序,把最短的两根进行合并,直到只剩一个为止(或者说进行N-1次合并)。在9:09:33的时候AC。
D题 捷径(AC:13人次)
然后发现这题自己做过,运气太好了。虽然思路知道,不过自己竟然没写出正确的代码!后面突然发现自己傻了,我在FOJ里AC过这题,题库我都带了,直接抄代码不就得了。
浪费了点时间,还是AC了,时间9:21:23。
FOJ 1004 解题报告:http://blog.csdn.net/code4101/article/details/17612007
B题 搬家的烦恼(AC:29人次)
因为这题题目长,有把它认为难题的潜意识。现在看到排名靠前的都把B题做出来了,所以我也来做,看懂题目后才发现,这简直是道大水题啊!
用公式计算即可。9:24:26 AC。
不过现在看到才29人AC也有点蹊跷,不可能那么多人都做不出。几天前曹BQ说他比赛有写这题,但怎么都感觉没有错,不知道为什么WA,我当时坚信是他自己的问题,不过我看了他代码发现确实没问题,只能说OJ或测试数据出了什么问题吧。B题全场362WA。
E题 土豪(AC:74人次)
这题也不难,遍历最高位1~9和最低位0~9的所有情况即可暴力解出。
AC时间:9:30:06。
F题 最佳拍档(AC:8人次)
解题报告:http://blog.csdn.net/code4101/article/details/17677799
刚看到这题还是很开心的,因为思路很清晰,而且昨天刚学会的next_permutation没想到也顺利派上用场。
不过遇到点问题,WA后都想不明白,就先去看其它题。然后无意中突然发现我把题目的Q[j][i]看成Q[i][j]了。改了后顺利AC,时间:9:36:15。第二位AC这题的在11:28:31,哈哈,这题自己确实做的相当快啊。
H题 雾霾大作战(AC:3人次)
剩下三题,自己忽然放松不少,没那么紧张了(其实这是伏笔吧,马上就后劲不足了)。把三题都看一遍后,发现H题竟然是最短路问题!
自己正在做的一个项目就是跟最短路有关的,我还花了暑假整整两周写代码,这个自己再熟悉不过了。不过说起算法,自己又忘的一干二净,现在让我写竟然写不出来了。
但自己还真是踩狗屎运了。昨天熬夜整理明天要带的资料,弄的很晚,2点多才睡,睡着前还在想要不要准备份最短路代码,我想还是要的,明早起来弄吧。然后第二天7点多起床,随便弄了段进去,早上打印出来带到现场!
不过很久以前写的代码,我不知道怎么衔接,不知道那个模板,顶点编号是从0开始还是1开始,邻接矩阵arcs下标是0开始还是1开始。折腾了半天没弄出来,都有些绝望,眼看着第一的排名被反超,越是更加紧张。
最终终于调试过去了,心中后悔不已,以后自己准备模板要认真点,说明如何衔接使用。
10:47:06一次性AC,排名回归第一。
解题报告:http://blog.csdn.net/code4101/article/details/17681911
后面的故事
剩下两题,虽然我以前见过I题这种智力题,但是我不知道算法,我觉得我没有希望做出。但是G题应该只是编程麻烦点,我觉得我能写出。但事实上我失败了,剩下100多分钟我没有再AC,原来处于2,3名的都反超我,AC至8题。但我也靠时间优势稳住了第3的位置。
赛后回想,其实自己运气已经很好了,因为刚准备的东西正好派上用场,不然我今天是不可能刷题速度这么快,甚至只能做出5题。
I题 高智商的游戏(AC:3人次)
解题报告:http://blog.csdn.net/code4101/article/details/17683837
这题我是直接套用结论AC的。过几天要抽个时间,好好看看博弈论的Nim问题,里面应该蕴含很好的思维方法。
G题 牲口棚的安全(AC:4人次)
解题报告:http://blog.csdn.net/code4101/article/details/17710189
赛后做出该题时,感慨自己要是按最开始的思路勇敢的做下去的话,可能11点多就能AC这题了。而I题还真是当时我根本不可能做出来的题。虽然感觉要是这样的话我就能拿第一了,但实际上也不能这样理解。相信很多有水平的人都没发挥出自己最佳的实力,而第一名也是H题没注意对称阵的问题,不然再加一行代码,他就AK了。
总结教训,一是面对校赛的题目,有时候还是不敢大胆尝试,错失机会;再有准备的资料停留在自己练过的题目层面上,没有尝试去系统的学习,然后带点经典的书,像最短路模板这种,带本刘汝佳的《算法入门》就能解决的事,我也不可能什么问题模板都自己准备,很多优秀的书里都有总结,关键是自己要花时间去看;最后练的题还是不够多,有些题确实太变态,有时候真理解不来,也不想理解,但是像I题那种类型的,多接触还是很有好处的。