CF1197C

题意:

有一个递增的数列,把它分成k段,找到这样的分段方法,即每段最大值减最小值的和最小

解法:

分成k段,即要加k-1个隔断,这k-1个隔断,能隔开差值最大的几个,那最后得到分隔后的各段最大最小差值和最小

CODE:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector> using namespace std; #define LL long long
const int N = 3e5 + 100; int n,a[N],k;
vector<int> G; int main() {
scanf("%d%d",&n,&k);
for(int i = 1 ; i <= n ; ++i)
scanf("%d",&a[i]);
for(int i = 2 ; i <= n ; ++i)
G.push_back(a[i - 1] - a[i]);
sort(G.begin(), G.end());
int ans = a[n] - a[1];
for(int i = 0 ; i < k - 1 ; ++i) ans += G[i];
printf("%d",ans);
//system("pause");
return 0;
}

CF1197C的更多相关文章

随机推荐

  1. Java单例设计模式和多例设计模式

    单例设计模型 教学视频链接:https://edu.aliyun.com/course/1011 1,private不可以在类外部访问,但可以在内部访问 2,此时Singleton类内部的instan ...

  2. JDBC 复习2 存取mysql 大数据

    大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据 mysql的大数据分为2种 blob 和 text ,没有cl ...

  3. Google Drive 和 Dropbox 同步同一个文件夹目录

     Dropbox 也是非常棒的同步工具,例如先进的增量上传或者更开放的 API 等.可是为什么不曾想过把 Google Drive 和 Dropbox 同时使用呢,我是说,让这两者同时云同步同一个文件 ...

  4. c#基础知识梳理(四)

    上期回顾 - https://www.cnblogs.com/liu-jinxin/p/10826971.html 一.类 当你定义一个类时,你定义了一个数据类型的蓝图.这实际上并没有定义任何的数据, ...

  5. springboot启动流程(三)Environment简介

    所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 简介 上一篇文章中,我们简单了解了一下SpringApplication的run方法的代码逻辑 ...

  6. Cascader 级联选择器无法赋值

    问题: html: <el-cascader v-model="addform.qxvalue" :options="options" :props=&q ...

  7. elment 中tree组件展开所有和收缩所有

    upAll () { // 全部展开 遍历变成true let self = this; // 将没有转换成树的原数据 let treeList = this.sourceData; for (let ...

  8. phpstorm+xdebug+mvc

    前一段时间自己琢磨出来,今天又给忘了,还去t00ls发帖.... 写到这里备忘 拿这个yxcms举例子 版本: yxcms1.2.1 源码:http://pan.baidu.com/s/1pJM1CP ...

  9. 什么是虚拟DOM

    一.前言 虚拟DOM概念随着react的诞生而诞生,由facebook提出,其卓越的性能很快得到广大开发者的认可:继react之后vue2.0也在其核心引入了虚拟DOM的概念,本文将以vue2.0使用 ...

  10. 使用了frame的页面如何整体进行跳转,而不是仅frame跳转

    使用了frame的页面如何整体进行跳转,而不是仅frame跳转 js window.parent.location.href="你的地址"; php echo "&quo ...