zoukankan      html  css  js  c++  java
  • 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)

    转载需注明出处。
  • 相关阅读:
    <译>Spark Sreaming 编程指南
    <译>Zookeeper官方文档
    <译>Flink官方文档-Flink概述
    <译>流计算容错
    <译>Flink编程指南
    <续>调度算法补充
    storm源码阅读笔记之任务调度算法
    海量数据处理方法归类
    storm中worker、executor、task之间的关系
    javax.swing.jFrame
  • 原文地址:https://www.cnblogs.com/jz929/p/11358696.html
Copyright © 2011-2022 走看看