2016.08.14【初中部 NOIP提高组 】模拟赛C

来源:互联网 发布:邮政手机银行网络异常 编辑:程序博客网 时间:2024/05/12 22:30

这次比赛做的非常差,原因很多。首先,做第一题的时候再一次看错题,浪费了整整1个小时(打类似NOip子矩阵那一题)的类似代码。这时,旁边的人都已经在做2,3题了,于是就心慌了,没有静下心来思考,就打了一个过了自己出的很多数据的代码,谁知就因为一个细节的地方导致爆0.

而第2题则因为类型string没有改成ansistring,白白掉了五十分。第三题看题就看了十分钟,看懂后就果断放弃(事实证明这是这场比赛我做的唯一正确的事情)于是,开始打第4题,打到最后时刻,还有一个数据没过,想算了,能拿多少分就拿多少吧,然后又听到后面的詹哲轩说倒计时一分钟,我就继续调数据,突然调过了,谁知,班上突然有人说“我擦爆0?这什么情况?” (这句话应该我说..)听到这句话,我就懵逼了(但事实又证明即使我交了上去也只能水10分...)所以还是自己智商不够,还需继续努力啊!




T1:很明显的DP.

设f[i,j]表示位置(1,1)到(i,j)的总和。则f[i,j]:=f[i-1,j]+f[i,j-1]-f[i-1,j-1].

算出总和后直接求出最大的r*c矩阵即可.


T2:水题.

直接按照题目模拟的即可,每次乘一个数都mod m就行了.


T3:几何+DP(高中数学)

确实没听懂.


T4:超级坑的一道题目,在考场上我做的就是正确的方法(也可以说是正确的思路)谁知只是一个问题没有处理好:

那就是停留的情况.


设当前停留时的时间是x1,则停留之后时间为1-x1.


直接判断 停留所需的时间+停留之前的最优时间 如果能更新停留之后时间的最优值,则更新,并把停留的这种情况也加入队列里面继续拓展其他节点.


除了停留的情况,其他的拓展情况则是普通spfa,自己想想能很容易想出来的,相信我吧(这道题整整坑了我一个下午,4个半小时的时间,到现在才改完,我去**)


当然,这道题目还可以用别的办法:

听说叫做分层spfa.


意思就是把一个点拆成两个点来看,如果当前天数是奇数的话,对应点的编号为[1..n],否则为[1+n..1+n+n],所以,我们可以在输入的时候建好一个图(注意,对于每次输入都要把点自己原地不动的情况加进队列里)

建好一个这样子的图后,直接跑一遍spfa就行了.

0 0