zoukankan      html  css  js  c++  java
  • NOIp2018解题报告

    D1:

    T1

    (Ans = sum_{i=2}^{n} |a_{i}-a_{i-1}|),正确性可由贪心证得

    T2

    考虑贪心,选出一个属于A的集合,容易证明其是最优的

    然后考虑一个数如果不被选,则他需要满足那些条件,发现是他可以被已选出的一些数表示

    那么这就是一个要求不断加点的完全背包,和普通完全背包无异

    T3

    看到最大值最小直接二分

    直接考虑二分lim为最小的最大权

    考虑一个点u和连接到他的一条“赛道”s

    (lim leq s+dis(s,u))则直接连接他们

    否则,把他放入一个multiset中,然后二分其中最小的q(但是(lim leq q+s)),把他们连接

    主要可用贪心证明(贪心大赛……各种贪心)

    D2:

    T1

    先做树上情况,如果是在树上的话我们可以对于每个节点找最小的与之相连的节点,有字典序的定义易得这是成立的

    在做基环树的情况,考虑对于环上的每一条边依次删去即可

    或者考虑回到父节点的充要条件,此做法可在仙人掌上使用

    贪心+1

    T2

    考虑公式:

    Ans(n,m) = 3*Ans(n,m-1)

    打表Ans(n,n),Ans(n,n+1),根据递推公式即可

    T3

    考虑修改点(a,b)之间的链即可,因为其他的部分没有被修改影响,预处理出来即可

    预处理和倍增都是dp例题 没有上司的舞会

    考虑倍增即可,O(nlogn)

  • 相关阅读:
    java图书管理系统界面版本+mysql数据库
    java数组实现的超市管理系统(控制台)
    Action<T>和Func<T>委托事例
    简单的委托示例
    使用静态方法CreateInstance()创建数组
    Span复习
    与预定义类型的用户类型强制转换
    实现自定义的索引运算符
    比较运算符的重载
    算术运算符的重载
  • 原文地址:https://www.cnblogs.com/tyqtyq/p/11273111.html
Copyright © 2011-2022 走看看