2019.08.15【NOIP提高组】模拟 A 组 总结

考场:(70 + 0 + 0 = 70)


T1:

考场就刚(T1)了。。。
首先打了个暴力:(dfs)枚举选哪些数,然后(K^2DP)求出答案。
(f[i][j])表示前(i)个人有(j)个选好的方案数。答案即为(f[K][K/2])
从题解发现,选的人是一段前缀和一段后缀。
茹氏证明:
我们可以固定(K-1)个人以及他们选什么。
我们设(s1)表示有(K/2-1)人选好,(K/2)人选坏的概率。
(s2)表示(K/2)人选好,(K/2-1)人选坏的概率。
那么对于答案,即为(s1*p+s2*(1-p))
(s1>s2),那么肯定的我们要使p尽可能大,反之亦然。
不断如此,结果选的人一定为一段前缀和一段后缀。
用DP求解即可。


T2:

考场最后二十分钟才开始想。
想到了用(ST)表维护(gcd),然后枚举(a[k])二分左右端点。
但由于某些场外因素导致最后没时间调出来。
(GG)
改题题解众多,乃好题一道。
有人(O(n))做法,有人(O(nlog^2n))。。。


T3:

第一眼感觉是神仙题。。。
正解是(O(nm^2)DP)优化成(O(m^3))


总结:

要想清楚做题顺序,以及花费时间是否合理。
对于某些证明,还是严谨点好。
不要因为一道题而挂了正常比赛。。。
对于程序,要适当加些常数优化,以及一些可行性剪枝。

现在:(100 + 100 + 0 = 200)

转载需注明出处。
原文地址:https://www.cnblogs.com/jz929/p/11358696.html