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

给个网站做填空题什么网站用来做商城好

给个网站做填空题,什么网站用来做商城好,wordpress目录导航主题,网站正在建设中亚洲原题链接:整数删除 给定一个长度为 N 的整数数列:A1,A2,...,AN。 你要重复以下操作 K 次: 每次选择数列中最小的整数(如果最小值不止一个,选择最靠前的),将其删除,并把与它相邻的…

原题链接:整数删除

给定一个长度为 N 的整数数列:A1,A2,...,AN。

你要重复以下操作 K 次:

每次选择数列中最小的整数(如果最小值不止一个,选择最靠前的),将其删除,并把与它相邻的整数加上被删除的数值。

输出 K 次操作后的序列。

输入格式

第一行包含两个整数 N 和 K。

第二行包含 N 个整数,A1,A2,A3,...,AN。

输出格式

输出 N−K个整数,中间用一个空格隔开,代表 K 次操作后的序列。

数据范围

对于 20% 的数据,1≤K<N≤10000。
对于 100% 的数据,1≤K<N≤5×10^5,0≤Ai≤10^8。

输入样例:

5 3
1 4 2 8 7

输出样例:

17 7

样例解释

数列变化如下,中括号里的数是当次操作中被选择的数:

[1] 4 2 8 7
5 [2] 8 7
[7] 10 7
17 7

 解题思路:

此题主要用优先队列+双端链表,优先队列可以替换成能够进行排序的也可,比如set(去重+自动排序),这里利用优先队列实现。利用小根堆,每次弹出来为最小值去更新原数组的值。这里需要判断一下,由于更新值在原数组中更新,优先队列中的值没有被更新,每次进入循环,先要进行判断原数组的值是否与优先队列中的值相等,不相等就更新,相等就按照删除继续操作,k--


代码实现:

#include<iostream>
#include<queue>
#define int long long
using namespace std;
const int N=5e5+5;
typedef pair<int,int> PII;
struct{int pre,num,next;//pre前一个下标,next后一个下标,num当前值
}a[N];
int n,k;
signed main(){priority_queue<PII,vector<PII>,greater<PII>> pq;//小根堆cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i].num;a[i].pre=i-1;//记录前驱a[i].next=i+1;//记录后驱pq.push(make_pair(a[i].num,i));//把此点数值与下标入队}while(k){//删除k个数PII cur=pq.top();//小根堆,每次弹出都是最小值pq.pop();int id=cur.second,w=cur.first;//记录弹出的下标与值int l=a[id].pre,r=a[id].next;//记录前后驱if(w!=a[id].num){//如果队列中的值与原数组更新后的不相等pq.push(make_pair(a[id].num,id));//把新值入队continue;//k不动,更新操作}//else就是删除更新操作k--;a[l].num+=w;//前一个加wa[r].num+=w;//后一个加wa[l].next=r;//双端队列删除id结点a[r].pre=l;a[id].num=0;//删掉了为0}for(int i=1;i<=n;i++){if(a[i].num){cout<<a[i].num<<" ";}}return 0;
}
http://www.yayakq.cn/news/577591/

相关文章:

  • 广州各类外贸网站佛山厂家推广优化
  • 南宁企业做网站上市公司做网站
  • 网页设计与网站开发wordpress评论显示游客
  • 网站点击量统计景区网站建设的重要性
  • 百度云建站教程网站外包的恶意刷流量
  • 鄂州第一网官方网站免费网站模板软件
  • 自学python的网站成都企业网站建设费用
  • 庄河市城乡规划建设局网站机械加工网站有哪些
  • 建什么网站好施工企业财务工作总结及工作计划
  • 如何做网站新手个人教程新媒体seo指的是什么
  • 九江城市投资建设有限公司网站做暧视频免费网站
  • 电商网站需求分析vs网站开发平台
  • 网站12栅格系统怎么做wordpress做外贸站
  • asp.net做网站实例地方门户网站系统有哪些
  • 永久免费的网站空间网站建设的业务员
  • 做海报设计的网站做网站的开发工具
  • 西安网站建设制作价格淘宝客网站应该怎么做
  • 建设智能家居网站SWOT分析网站建设与维护心得
  • 织梦cms网站模板修改青岛网站建设加盟公司
  • 贵阳seo网站建设免费域名网站创建
  • 电子商务的网站建设名词解释杭州专门做网站
  • 网站开发视频 百度云网站建设招标
  • 网站建设销售开场魏县专业做网站
  • 网站制作行业个人做跨境电商哪个平台好
  • 免费网站大全appWordPress添加精华贴图
  • 哪个网站可以做高数题广州企业网站建设开发
  • 无锡网站建设哪家专业网页网站免费
  • 北京微信网站开发报价html5建设网站
  • 网站 建设 原则广州手表网站
  • 苏州哪家网站公司做的好的沈阳关键词seo