zoukankan      html  css  js  c++  java
  • NOIP2016-2020 复盘

    NOIP 2016 day1

    (215pts)

    T1

    清新小模拟

    T2

    太恶心了这道题。
    原来贺的已经忘了,又贺了一遍发现还是不会。

    感觉线段树合并比较好理解。

    大概要分两种情况讨论。

    设观察员为 (x)(u,v) 分别是起点和终点。

    如果 (x)(v - lca) 的路径上:

    有:(dep_u - dep_{lca} + dep_x - dep_{lca} = w_x)

    如果 (u - lca) 的路径上

    (dep_u - dep_x = w_x)

    枚举每个跑步的人太难搞了,考虑枚举观察员 (x),把上面两个式子变一变:

    [2 imes dep_{lca} - dep_u = dep_x - w_x ]

    [dep_u = dep_x + w_x ]

    考虑把每个节点当做权值线段树。维护每个权值的出现次数。

    初始化利用树上差分的方法进行修改即可。

    (dfs) 回溯时用线段树合并将几个节点的信息合并到一起,然后查询 (dep_x - w_x)(dep_x + w_x) 出现了几次统计答案。

    T3

    细节巨多的期望 DP。

    (f_{i,j,1/0}) 表示时间 (i) 已经选了 (j) 次这一次选不选的最小期望。

    两点之间距离之间 ( ext{Floyd})

    剩下的就是大力分类讨论了。

    NOIP 2016 day2

    (265pts)

    T1

    [C_n^m = C_{n-1}^m + C_{n-1}^{m-1} ]

    预处理前缀和就随便过。

    时间复杂度 (O(n^2+nt))

    T2

    想到了一个 (65pts) 的线段树做法,暴力维护更改和求最大值。

    正解:
    开三个队列。
    首先把所有元素从大到小插入第一个队列。
    然后从三个队列中取最大值,剪断后放入二三队列,发现他是由单调性的,所以不需要用优队。

    对于每次剪完加 (q),可以只把剪断的两条蚯蚓减去 (q)

    T3

    状压DP。

    注意小鸟不能直着飞或者向上飞。

    然后判断一个解析式内的一头猪是否能被打死是限制 (lim)(10^{-9}) 左右就可以。

    NOIP 2017 day1

    (230pts)

    T1

    结论题

    T2

    屑模拟

    T3

    只会 (30pts) 暴力 /kk

    正解是一个挺牛逼的记搜

    NOIP 2017 day2

    (195pts)

    T1

    并查集,bfs等随便过。

    T2

    写了个假贪心,(45pts)

    同时写了个假搜索,后来看题解发现有一点地方写麻烦了,稍微改一下 (70pts)

    加上记搜就可以过了。

    不过这个记搜的正确性是假的。

    T3

    暴力有 (30pts) + (20pts) 的平衡树

    感觉 (100pts) 的平衡树,树状数组,主席树做法都比较牛逼

    NOIP 2018 day1

    (230pts)

    T1

    贪心

    T2

    完全背包 + 贪心

    T3

    二分答案 + 贪心

    NOIP 2018 day2

    (124pts)

    T1

    (60pts m = n - 1) 的情况。

    (100pts),暴力删边 (O(n^2))

    T2

    (20pts) 打表

    (30pts n=2) 是 KnighL 发现神奇规律 (4 imes 3^{m-1})

    T3

    (44pts),只会 (O(n^2)) 暴力。

    NOIP 2019 day1

    (165pts)

    T1

    有关格雷码的结论题

    T2

    (55pts) 的暴跳

    T3

    (10pts) 枚举全排列

    其他的并没有想到很好的贪心方式 /kk

    NOIP 2019 day2

    (32pts)

    T1

    打了二十分暴力

    T2

    写了发单调队列,一直调不出来,只有乱搞的 (12pts)

    T3

    笑死,根本没读题

  • 相关阅读:
    【SpringBoot】 理解SpringBoot的启动原理
    【SpringBoot】SpringBoot的基础,全面理解bean的生命周期
    【转】 Linux 命令解释(Linux基础二)
    【转】 Linux 的目录详解 (Linux基础一)
    【SpringBoot】 一种解决接口返回慢的方式
    【Jmeter基础】 Linux上运行Jmeter
    【SpingBoot】 测试如何使用SpringBoot搭建一个简单后台1
    单例模式@Singleton在测试中的运用
    性能测试基础 ---TCP通信过程的状态码与过程,以及出现错误码的分析(TIME_WAIT,CLOSE_WAIT)
    Spring5源码分析(007)——IoC篇之加载BeanDefinition总览
  • 原文地址:https://www.cnblogs.com/Silymtics/p/14959460.html
Copyright © 2011-2022 走看看