题目描述

给定1≤n≤100000,1≤k≤n(n-1)/2,和〈a_1, ... ,a_n〉,其中-50000≤a_i≤50000, 要求选出k个不同的子段,使得每个元素都被这些子段覆盖且这k个子段和的和最大.

题解

Lemma 0. 对于每个未选择点加入的一定是两端扩展到最大的范围

这还用证明么..?因为加入的点存在未选择的那么加入的一定是未选择的,当然怎么大怎么好.

Lemma 1. 前min(k-n,0)大的子段一定在选择内

k≤n的情况显然是正确的, 考虑k>n.

Def. x=k-n 前p大子段被选择 p

Lemma 2. 非最优重叠在最优没有到达的地方不优

即部分选择[l1,r1][l2,r2](这两个选择都非最优,r1≤r2)包含两个最优未选择t1,t2,且l1≤t1,t2≤r1, l2≤t1,t2≤r2

那么l2≤r1,我们可以直接将选择变成[l1,r2]+一个最优, 因为加入[r1+1,r2]必然不会更劣,不然选择就是[l1,r1],[l2,r1],然后发现包含,于是没有必要.

Lemma 2 Quite Easily Done.

Lemma 1 Quite Easily Done.

(其实感觉不是很严谨啊..谁来提供一个更严谨的证明或找一下证明的bug..)

Theorem CF720F

可以在\(O(n\log^2{n})\)复杂度内完成.

那么我们就先计算前min(n-k,0)个最优, 用二分+扫描线, 然后对于剩下的n个选择我们一次次加入最优区间看现在的答案, 此时我们维护剩下的未选择区间, 先贪心一个n时最优解, 每次被选择就删去两端扩展与它的贡献.

建议对着我的题解看官方题解找感觉.

http://codeforces.com/blog/entry/47183

CF720F的更多相关文章

随机推荐

  1. VC++/MFC(VC6)开发技术精品学习资料下载汇总

    工欲善其事,必先利其器,VC开发MFC Windows程序,Visual C++或Visual Studio是必须的,恩,这里都给你总结好了,拿去吧:VC/MFC开发必备Visual C++.Visu ...

  2. iOS通知

    链接: IOS之推送通知(本地推送和远程推送) iOS 10推送通知开发 活久见的重构 - iOS 10 UserNotifications 框架解析 iOS10全新推送功能的实现

  3. PAT 1040. 有几个PAT(25)

    字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...

  4. 软件工程导论-目录-K-T+RJ大

    目录 10 第1章 软件工程学概述/1 19 1.1 软件危机/1 19 1.1.1 软件危机的介绍/1 19 1.1.2 产生软件危机的原因/3 21 1.1.3 消除软件危机的途径/4 22 1. ...

  5. 从梯度下降到Fista

    前言: FISTA(A fast iterative shrinkage-thresholding algorithm)是一种快速的迭代阈值收缩算法(ISTA).FISTA和ISTA都是基于梯度下降的 ...

  6. Angular快速入门篇

    简介 AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法,以弥补在构建动态WEB应用时静态文本的不足,从而在web应用程序中使 ...

  7. js阿拉伯数字转中文大写

    function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = "千百 ...

  8. Macbook被格式化之后

    macbook不小心被手贱格式化了,开机显示一个大问号. 于是查询得到恢复方式是使用command+R. 照做了,试了好几次,那个地球还是卡住不动的.都没有提示让我输入wifi密码. 于是又查了一下, ...

  9. cout格式化输出

    问题描述: 有N条绳子, 它们的长度分别为Li. 如果从它们中切割出K条相同的绳子的话,这K条绳子每条最长能有多少? (备注:答案保留两位小数) <1>精确到小数点后两位输出 #inclu ...

  10. LocalBroadcastManager 的实现原理,Handler还是 Binder?

    原文: http://www.trinea.cn/android/localbroadcastmanager-impl/ 对 LocalBroadcastManager 大家应该都不陌生,相对 Bro ...