给出两个包含 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. C#从服务器下载文件的四种方式

    //方法一:TransmitFile实现下载 string fileName = "ss.docx"; //客户端预设的文件名,导出时可修改  string filePath = ...

  2. luogu4677山区建小学题解--区间DP

    题目链接 https://www.luogu.org/problemnew/show/P4677 分析 这道题方法跟之前题不一样,我们相当于枚举一个左右端点来线性扩展,同时划分断点进行决策 \(f[i ...

  3. POJ1845Sumdiv题解--约数之和

    题目链接 https://cn.vjudge.net/problem/POJ-1845 分析 \(POJ\)里的数学题总是这么妙啊 首先有一个结论就是\(A=\prod{ \ {p_i}^{c_i} ...

  4. 03 - Mongodb数据查询 | Mongodb

    1.基本查询 ①方法find():查询 db.集合名称.find({条件文档}) ②方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) ③方法pretty(): ...

  5. django中app_name以及namespace理解

    在写django的时候,html中反向解析经常会用到app_name 但有时候又是namespace,具体的区别如下: 大部分情况 这两者有其一就可以了. 并且两者(可以简化理解)无区别 只要一种情况 ...

  6. linux在配置菜单中添加选项

  7. 在VS2017添加MVC项目

    以前一直是用vs2012 MVC直接可以找到 在公司用的是vs2017  今天想创建一个MVC,和vs不同啊!!! 居然找不到MVC  然后找找找  ,突然想到创建asp.net 项目的时候发现了MV ...

  8. LNMP安装与配置之Nginx

    Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramb ...

  9. Java字节流read函数

    问题引入 做Java作业从标准输入流获取用户输入,用到了System.in.read(),然后出现了bug. //随机生成一个小写字母,用户猜5次,读取用户输入,并判断是否猜对 import java ...

  10. 关于WebAssembly

    一.WebAssembly是什么? WebAssembly(缩写为Wasm)是基于堆栈的虚拟机的二进制指令格式.Wasm被设计为一个可移植的目标,用于编译C / C ++ / Rust等高级语言,支持 ...