[POJ 3034]

Whac-a-Mole

“打地鼠”,好神奇的一题DP…

题意是,有一个n*n的区域,在时刻1~10之间,每时刻会出现一些地鼠。有一个初始位置任意的锤子,在每个时刻,你可以将锤子直线移动最多d个单位,起止点都必须是整点,若有地鼠出现在移动路径上(必须是坐标x,y刚好在直线上),则可以将它们敲掉得分。目标是求t时候后最高得分。

数据规模不是很大,但分析了下复杂度,发现竟然是O(kn^4)级别的……因此需要对某点出发可以移动到的点,以及移动中路过的整点坐标全部预先记录下来……想到这里还觉得太复杂了,怕不是这么做,但是由于d<=5,这样的预处理又是完全合理的……因此开始了一顿乱搞。。。第一次提交WA了之后,读了discuss发现锤子是可以移出区域的。。。稍微作了下修改后便AC了。虽然没有完全能自己想出来,但还是好开心。

使用了同一种边表struct来存多种数据……虽然看上去很乱搞但自己清楚其实是合理的做法,能够AC实在是太好了。 另外今天也去了渣打编程马拉松的北京初赛……地点竟然还是上次北大校赛的北交计算机培训中心。这次的待遇比北大校赛好多了,全程饮料零食供应,中午还一人一份M,只是我肠胃不好也没太敢吃。但如果就比赛本身来说,实在是不怎么样。题目本身说是大数据,其实数据一点也不大,就在百万级别而已。另外就是题目的描述和求解需求都不甚明确,还有前后矛盾的地方……问赛会人员也是越描越黑……最后下午3点的时候上传完解就提前走了。结果到门口竟然还被拦截采访。。。实在是太尴尬了。明显这种非IT公司办的比赛只是为了宣传+招聘,和技术实际是离天隔九丈了……但是来参加这种比赛的我又算什么……