解析

这题可以转化一下:

(《神笔马良》。。。。)
计算这些长方形对应下标的总加和
我们可以一层一层往上垒,假设第i层起始点为xi,总和为sumi,再设从1到i的前缀和为si
显然第一层x1=1,sum1=sn
对于第二层x2,sum2=tot[x2,n]=sn-s[x2-1]
对于第三层x3,sum3=sn-s[x3-1]
。。。
对于第k层xk,sumk=sn-s[xk-1]
最后累加sum即答案
显然答案整理一下应为k*sn-(s[x2-1]+s[x3-1]+…+s[xk-1])
要使ans最大,显然要使括号内最小
那么我们只需找出最小的k-1个(因为第一层不减)最小的前缀和再用k*sn减去他们即可
注意因为xk<=n,xk-1<n-1,所以sn是不能作为减数的

代码

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>
#include<string>
#include<queue>
#include<vector>
using namespace std;
int n,k;
int a[300500];
long long s[300500]={ };
bool cmp(long long x,long long y){return x<y;
}
int main(){scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){scanf("%d",&a[i]);s[i]=s[i-1]+a[i];}long long ans=s[n]*k;sort(s+1,s+n,cmp);//最后一个不能取 for(int i=1;i<=k-1;i++){ans-=s[i];}printf("%lld\n",ans);return 0;
}

AC快乐!!!

贪心: Array Splitting(数列分段)(洛谷CF1175D)相关推荐

  1. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

  2. 贪心的Mixing Milk(洛谷P1208题题解,Java语言描述)

    题目要求 P1208题目链接 分析 要对奶农的价格进行排序,优先选择低价格的牛奶,选完当前奶农的全部牛奶再选价格稍高的一位奶农的牛奶,依次选择-- 贪心体现在每次优先选择最省钱的买法. 读的数据可能很 ...

  3. 用贪心策略均分纸牌(洛谷P1031题题解,Java语言描述)

    题目要求 P1031题目链接 分析 我们一定要知道的是average,这个average其实就是每堆牌最终一定要达到的情况. 想要更简单的结果,那就可以用贪心策略,从某一侧开始,逐一的补齐或天选,反正 ...

  4. 洛谷 深基 第1部分 语言入门 第4章 循环结构程序设计(2022.02.14)

    P5718 [深基4.例2]找最小值 [深基4.例2]找最小值 - 洛谷 P5718 [深基4.例2]找最小值(python3实现)-2022.02.01 P5718 [深基4.例2]找最小值(pyt ...

  5. 洛谷P1182 数列分段Section II 二分答案

    洛谷P1182 数列分段Section II 二分答案 题意:将 n 个 数 分为 m段 求一种方案,使这m段中最大的和 最小 额..可能有点拗口,其实就是说每一种方案,都有对应的 每段和的最大值, ...

  6. 二分答案——数列分段 Section II(洛谷 P1182)

    题目选自洛谷P1182 本题解法:二分答案+贪心 思路:首先,分析题目,求最大值的最小化,直接联想到二分,So我们直接二分答案,关键是要怎么去高效的check,我们考虑一个贪心的思路,能加的就加上,不 ...

  7. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  8. 洛谷P1667/[10.22 模拟赛] 数列 (思维+模拟)

    洛谷P1667 数列 题目描述 给定一个长度是n的数列A,我们称一个数列是完美的,当且仅当对于其任意连续子序列的和都是正的.现在你有一个操作可以改变数列,选择一个区间[X,Y]满足\(A_X +A_{ ...

  9. 洛谷P1561 [USACO12JAN]爬山Mountain Climbing 贪心 数学

    洛谷P1561 [USACO12JAN]爬山Mountain Climbing 贪心 数学 1.我们可以发现最终的答案 = max( 上山时间总和 + 最快下山时间,下山时间总和 +最快上山时间 ) ...

最新文章

  1. Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅
  2. What happens when clicking interaction recor工作中心
  3. java 拉丁文 unicode_“java语言使用的是Unicode编码”是指的jvm?.java文件?
  4. Android中如何下载文件并显示下载进度
  5. vba九九乘法表代码_VBA代码模块化--数据透视表
  6. java面试题_2020年1-6月份Java面试题总结,20多类1100道面试题含答案解析
  7. 大一下学期的自我目标
  8. 1. thinkphp (1)
  9. 解决Win10系统下运行unity游戏闪退报错问题 包含 人类一败涂地 波西亚时光等
  10. CS231n课程笔记翻译:卷积神经网络笔记
  11. 电脑“应用程序无法启动,因为应用程序的并行配置不正确......“问题的解决方法
  12. python英语词汇量测试_python英语单词测试小程序
  13. 聚观早报|百度3月16日发布文心一言;特斯拉被控维修和零部件垄断
  14. 每周分享第 31 期
  15. 安卓流畅度测试方法二:FPS Meter测试安卓帧数
  16. 安卓4.1.2 新建第一个native c++程序ndk开发以及解决出现configure projects一直卡住的问题
  17. Vue项目首页-热销推荐组件开发(7-6)
  18. Gut Microbes | 基于宏基因组发现猕猴肠道中的大量微生物新基因组
  19. sql同一张表统计数据生成多个统计列
  20. 应用“真心话大冒险”已更新到marketplace中

热门文章

  1. java web容器_Java Web容器安全
  2. topic数量是指什么_一个网站的IP、UV和PV到底是什么
  3. Linux怎么更新镜像,利用 Zsync 更新已有的 Ubuntu ISO 镜像
  4. 信号转化java_Java基础知识回顾-7
  5. python气象数据处理与绘图_Python气象数据处理与绘图:纬高图的另一种思路
  6. 信管专业c语言考什么,计算机信息管理专业卫生事业单位招聘考试笔试模拟题(十)...
  7. python使用opencv查找轮廓_Python+opencv学习记录20:轮廓发现,Pythonopencv
  8. http referer 验证防御方法_渗透测试 跨站攻击防御与安全检测手法剖析
  9. java树算法_Java数据结构算法(三)树
  10. 「软件项目管理」一文详解软件配置管理计划