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)

posted @ 2019-07-30 22:06  tyqtyq~!  阅读(156)  评论(0编辑  收藏  举报