洛谷P1090题解-创新互联

这个题我第一次的想法就是把数据从小到大,然后依次合并,最后就能得到结果!
后来发现,虽然最小的两个合并,但是可能两个小的合并后的数据大于下一个,再次合并就是有问题的。因此要对得到后的数据进行排序再依次合并。

创新互联公司服务项目包括西乌珠穆沁网站建设、西乌珠穆沁网站制作、西乌珠穆沁网页制作以及西乌珠穆沁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,西乌珠穆沁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到西乌珠穆沁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

此时,如果用普通的数组和sort函数的话必定会超时,因此我们这里可以用到优先队列,下面附上一些用法。

#include//头文件
priority_queue//定义


priority_queue,greater>q;//升序队列

priority_queue,less>q;//降序队列

priority_queuea//此时默认为降序队列

//greater和less是std实现的两个仿函数(就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了)

之后本题就很好解决了,下面附上代码

#include#include 
#includeusing namespace std;
const int N = 10005;
priority_queue, greater>a;
int main()
{
	int n;
	int c, x, y;
	long long k = 0;
	cin >>n;
	for (int i = 1; i<= n; i++)
	{
		cin >>c;
		a.push(c);
	}
	for (int i = 1; i<= n-1 ; i++)
	{
		x = a.top();
		a.pop();
		y = a.top();
		a.pop();
		a.push(x + y);
		k += x + y;

	}
	cout<< k;
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

网页标题:洛谷P1090题解-创新互联
本文网址:https://www.cdcxhl.com/article4/ceisoe.html

成都网站建设公司_创新互联,为您提供虚拟主机响应式网站手机网站建设做网站网站设计网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计