当前位置: 首页 > news >正文

免费的黄冈网站有哪些代码/河南网站推广公司

免费的黄冈网站有哪些代码,河南网站推广公司,中国怎么样做跨境网站,宁波h5模板建站目录 Description Format Input Output Samples 输入数据 1 输出数据 1 输入数据 2 输出数据 2 Limitation 分析 代码 Description 给你一个长度为n的一个正整数数组。 于是这个数列有n(n1)/2个子段 。现在求出了这n(n1)/2个子段之和,并降序排序&#…

目录

Description

Format

Input

Output

Samples

输入数据 1

输出数据 1

输入数据 2

输出数据 2

Limitation

分析

代码

Description

给你一个长度为n的一个正整数数组。 于是这个数列有n(n+1)/2个子段 。现在求出了这n(n+1)/2个子段之和,并降序排序,请问前K个数是多少。

Format

Input

第一行包含两个整数 n 和 k。 接下来一行包含 n 个正整数,代表数组。

ai≤10^9

k≤n(n+1)/2,

n≤100000,k≤100000

Output

输出 k 个数,代表降序之后的前 k 个数,用空格隔开

Samples

输入数据 1

3 4
1 3 4 

输出数据 1

8 7 4 4

输入数据 2

5 5
9 1 1 1 1

输出数据 2

13 12 11 10 9

Limitation

1s, 1024KiB for each test case.

分析

对于这道题,大家应该都能想到暴力算法:枚举开始、结束点,算子段和,降序排列,取前k个值。但看看数据,会超时。所以,我们要进行一些优化。

1.看到前k大,你会想到什么?堆,对吧?

2.求子段和,是不是该用前缀和呢?

3.看到枚举。我们取的是前k的值,而我们暴力枚举是先是1到1,再是1到2,1到3,直到1到n,明显是从小到大。那我们就来个逆循环。

4.如果当前子段和已经小于第k大的值,就可以break了(因为我们越枚举越小)。

代码

#include<bits/stdc++.h>
using namespace std;
priority_queue<long long,vector<long long>,greater<long long> >q;
/*小根堆*/
long long n,k,f[100100]; 
int main()
{cin>>n>>k;for(int i=1;i<=n;i++)cin>>f[i],f[i]+=f[i-1]/*前缀和*/;for(int i=n;i>=1;i--)/*逆循环*/for(int j=0;j<=i;j++)if(q.size()<k)q.push(f[i]-f[j]);/*先加入k个初始元素*/elseif(f[i]-f[j]<q.top())break;/*如果当前子段和已小于前k大的最小值,就停止枚举*/elseq.pop(),q.push(f[i]-f[j]);/*否则加入当前子段和*/for(int i=1;i<=k;i++)f[i]=q.top(),q.pop();for(int i=k;i>=1;i--)cout<<f[i]<<' ';/*因为是小根堆,所以要倒过来输出*/
}

注:

本人第一次发博客,如有不妥之处,望各位指正,谢谢!

http://www.jmfq.cn/news/4885039.html

相关文章:

  • 商丘网站建设模板/双滦区seo整站排名
  • 龙华学校网站建设/刷seo快速排名
  • 南海今天最新军事新闻最新消息/seo品牌
  • 建设部资质申报网站/it教育培训机构排名
  • 深圳市龙华区政府在线官网/宁波seo排名外包公司
  • 网站建设电话销售/苏州网站
  • 购物网电商网站开发毕业论文/互联网营销课程体系
  • 武汉网站建设公司厂家地址/河北高端网站建设
  • 文章收录网站/项目推广方案
  • 孝感网站的建设/b站2023推广网站
  • 软件产品/windows优化大师的功能
  • 广东佛山顺德区疫情最新消息/青岛建站seo公司
  • 常用网站架构/廊坊网站建设公司
  • wordpress文章缩略图插件/济南网络优化哪家专业
  • 社区网站如何做/网络营销方案设计
  • ppt做书模板下载网站/广告联盟平台排名
  • 音乐网站怎么做外链/外贸网站推广方式
  • 个人网站备案建设方案书/电脑培训班一般需要多少钱
  • 网站策划资料方案/5月疫情最新消息
  • 营销型网站建设公司哪家好/网站到首页排名
  • 辽宁省工程造价信息/seo修改器
  • 做风筝网站/国外免费建站网站搭建
  • 建筑工程网站模板/站长工具seo综合查询下载
  • 网站建设的总体设计/外贸网站平台哪个好
  • 做intor的网站/宁波靠谱营销型网站建设
  • 网站备案目的/网站改进建议有哪些
  • 网站建设 唐山/网络整合营销公司
  • 重庆网站供奉战犯/seo手机优化软件哪个好用
  • 网站建设微信软文/怎么开网店
  • 如何用ps做网站平面图/论坛推广平台有哪些