20151006的NOIP模拟赛

这一次的考试感觉要比昨天nodgd出的题目的容易一些,没有考什么没学过的知识。
第一题拿到题目,首先就想到了用DP去解决,开始想再怎么改变顺序之后去做可以拥有最优子结构。第二眼马上就发现这样做要么超时,要么就做不了,马上就能想到贪心,在排序之后检查结果,这样就十分容易了,可是我在做的时候忽略了重要的一点,题目在“输出”里写了一条“(若有多种方案,则输出人数最多的)”。所以没有得到全分。不过还好没有专门设计很多这样的数据来卡人,只丢了十分。不过读题是需要重视的,就算不是主题干的内容也影响着整个题目的答案。
第二题拿到题就可以看得出是一道DP,很容易想到从后面往前面推。一看数据n <= 100000,所以我们要去优化这个DP。看到状态转移方程 f(i)=Min(f(j)+abs(aij+1+i),f(i)) 是1D1D的,所以我优先考虑的单调队列优化,但是看到ai+i并不是单调的,所以我选择了线段树来求区间的最值,在拆开绝对值的时候稍微想了一会,然后就成功写出。
第三题不知道为什么我又有一种像是DP的感觉,但是没有想出来DP的状态转移方程。想了一下其他的图论算法,无果,然后又不知道应该怎么用其他的方法做,只好 O(M!) 搜索,骗了20分。
最后1个多小时想了一下第三题,然后就回去对拍第二题去了,最后一直开着在对拍。教的时候对我的T2还是很放心的,可是T1没有看到那句话是非常不应该的。

你可能感兴趣的:(20151006的NOIP模拟赛)