给出两个包含 nn 个整数的数组 AA,BB。分别在 AA, BB 中任意出一个数并且相加,可以得到 n^2n2个和。求这些和中最小的 nn 个。

输入格式
输入第一行一个整数 n(1 \le n \le 50000)n(1≤n≤50000)。

接下来一行输入数组 AA,用空格隔开。

接下来一行输入数组 BB,用空格隔开。

1 \le A_i, B_i \le 10^91≤Ai​,Bi​≤109

输出格式
从小到大输出最小的 nn 个和,用空格隔开。

样例输入
4
1 3 5 7
2 4 6 8
样例输出
3 5 5 7

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
int n,a[],b[];
struct node{
int y,num;
bool operator <(const node &v)const
{
return num>v.num;
}
};
node k;
priority_queue<node>q;
int main()
{
cin>>n;
for(int i=;i<=n;i++)
cin>>a[i];
for(int i=;i<=n;i++)
cin>>b[i];
sort(a+,a+n+);
sort(b+,b+n+);
for(int i=;i<=n;i++)
{
k.y=;
k.num=a[i]+b[];
q.push(k);
}
int s=;
while(s<=n)
{
node now=q.top();
q.pop();
if(now.y+<=n)
{
k.y=now.y+;
k.num=now.num-b[now.y]+b[now.y+];
q.push(k);
}s++;
cout<<now.num<<" ";
}
return ;
} //AC
#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
int a[],b[],c[];int n;;
struct data{
int aa,bb,c;
}o[],z;
bool operator<(data x,data y)
{ return x.c>y.c;
}
priority_queue<data> q;
int main()
{
cin>>n;int l1=,l2=;
for (int i=;i<=n;++i)
{ cin>>a[i];
}
sort(a+,a++n);
for (int i=;i<=n;++i)
{ cin>>b[i];
}
sort(b+,b++n);
for (int i=;i<=n;++i)
{ o[i].aa=;
o[i].bb=i;
o[i].c=a[o[i].aa]+b[o[i].bb];
q.push(o[i]);
}
for (int i=;i<=n;++i)
{
z=q.top();
q.pop();
cout<<z.c;
if(i!=n)cout<<" ";
z.aa++;
z.c=a[z.aa]+b[z.bb];
q.push(z);
}
}

最小n个和(优先队列)的更多相关文章

  1. 剑指 Offer 40. 最小的k个数 + 优先队列 + 堆 + 快速排序

    剑指 Offer 40. 最小的k个数 Offer_40 题目描述 解法一:排序后取前k个数 /** * 题目描述:输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7. ...

  2. HDU 1285 确定比赛名次【字典序最小的拓扑排序 + 优先队列】

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  3. UVALive 7274 Canvas Painting (优先队列)

    Canvas Painting 题目链接: http://acm.hust.edu.cn/vjudge/contest/127406#problem/C Description http://7xjo ...

  4. poj 3013 Big Christmas Tree (最短路径Dijsktra) -- 第一次用优先队列写Dijsktra

    http://poj.org/problem?id=3013 Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total S ...

  5. POJ 3253 Fence Repair (优先队列)

    POJ 3253 Fence Repair (优先队列) Farmer John wants to repair a small length of the fence around the past ...

  6. hdu1242 Rescue(BFS +优先队列 or BFS )

    http://acm.hdu.edu.cn/showproblem.php?pid=1242 题意:     Angel被传说中神秘的邪恶的Moligpy人抓住了!他被关在一个迷宫中.迷宫的长.宽不超 ...

  7. 【OpenJ_Bailian - 4001】 Catch That Cow(bfs+优先队列)

    Catch That Cow Descriptions: Farmer John has been informed of the location of a fugitive cow and wan ...

  8. 优先队列与TopK

    一.简介 前文介绍了<最大堆>的实现,本章节在最大堆的基础上实现一个简单的优先队列.优先队列的实现本身没什么难度,所以本文我们从优先队列的场景出发介绍topK问题. 后面会持续更新数据结构 ...

  9. Priority Queue(优先队列)

    今天早上起来完成了一个完整的基于二叉堆实现的优先队列,其中包含最小优先和最大优先队列. 上篇说了优先队列的特性,通过建堆和堆排序操作,我们就已经看到了这种数据结构中的数据具有某种优先级别,要么非根节点 ...

  10. Algorithms - Priority Queue - 优先队列

    Priority queue - 优先队列 相关概念 Priority queue优先队列是一种用来维护由一组元素构成的集合S的数据结构, 其中的每一种元素都有一个相关的值,称为关键字(key). 一 ...

随机推荐

  1. vue采坑之——vue里面渲染html 并添加样式

    在工作中,有次遇到要把返回的字符串分割成两部分,一部分用另外的样式显示. 这时候,我想通过对得到字符串进行处理,在需要特别样式的字符串片段用html标签(用的span)包裹起来再通过变量绑定就好了.不 ...

  2. windows下将jar包打入maven仓库

    mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java -Dversion=1.27 -Dpac ...

  3. Python中的math常用方法总结(转)http://www.cnblogs.com/renpingsheng/p/7171950.html

    python中math模块常用的方法整理   ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x copysign:把y的正负号加到x前面,可以使用0 cos:求x的余弦,x必须是弧度 ...

  4. Centos7 部署.net core2.1 详细步骤

    安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages ...

  5. 【原创】大叔经验分享(81)marathon上app无法重启

    通过api调用marathon重启app后出现deployment,但是app不会重启,配置如下: "constraints": [ [ "hostname", ...

  6. python numpy 删除array指定位置的元素

    如图:设计一个数组或者tuple,其中的元素是True或False,那么在False位置上的元素就会被删掉 索引的元素还可以是int型的数,这时候就代表,将原来的数组中指定位置的数放在当前的位置,且索 ...

  7. hexo发布后样式丢失

    修改配置中url路径,和root,问题解决.

  8. vue学习(8)-过渡transition&动画animate

      进入之前                                                    离开之后 v-enter---v-enter-to            v-lea ...

  9. docker第三篇 镜像管理基础

    docker 工作原理: 常用的命令docker run .create .start... 都是客户端命令 Docker Daemon 接收到客户端传过来的命令以后 docker daemon会根据 ...

  10. 使用 function 构造函数创建组件和使用 class 关键字创建组件

    使用 function 构造函数创建组件: 如果想要把组件放到页面中,可以把构造函数的名称,当作 组件的名称,以 HTML标签形式引入页面中, 因为在React中,构造函数就是一个最基本的组件. 注意 ...