卿学姐与魔法(优先队列)

Posted 余生漫漫浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卿学姐与魔法(优先队列)相关的知识,希望对你有一定的参考价值。

个人心得:思路很简单,不过就是会超时,而且直接用数组的话肯定不够大。

所以就用优先队列,让里面只装N个数就好了,然后再次添加时进行比较,比他小就放进去。

不过这样超时,所以先将A,B排序,然后只要比队首大就break就可以过了。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<string>
 5 #include<queue>
 6 #include<algorithm>
 7 using namespace std;
 8 int a[100005];
 9 int b[100005];
10 int main()
11 {
12     int n;
13     scanf("%d",&n);
14     priority_queue<int >pq;
15     for(int i=1;i<=n;i++) scanf("%d",&a[i]);
16     for(int i=1;i<=n;i++) scanf("%d",&b[i]);
17     sort(a+1,a+n+1);
18     sort(b+1,b+n+1);
19     for(int i=1;i<=n;i++)
20         for(int j=1;j<=n;j++)
21     {
22         int t=a[i]+b[j];
23         if(pq.size()==n&&t>pq.top())
24             break;
25         if(pq.size()==n)
26         {
27             int x=pq.top();
28             if(t<x)
29             {
30                 pq.pop();
31                 pq.push(t);
32             }
33         }
34         else
35             pq.push(t);
36 
37     }
38     int sum[100005];
39     int t=n;
40     while(!pq.empty())
41     {
42         int x=pq.top();
43         sum[t--]=x;
44         pq.pop();
45     }
46     for(int i=1;i<=n;i++)
47         printf("%d\n",sum[i]);
48     return 0;
49 
50 }

 

“你的膜法也救不了你

在去拯救公主的道路上,卿学姐披荆斩棘,刀刃早已锈迹斑斑。

一日卿学姐正在为武器的问题发愁,碰到了正在赏树的天行廖。

天行廖嘴角微扬,似乎看穿了卿学姐的心思,故意在此等待。

“少年,你渴望掌握雷电的力量吗?”天行廖如是问道。

已经差不多是条咸鱼的卿学姐欣然答应了。于是卿学姐开始跟随魔法大师天行廖学习魔法的力量。

刚入门的卿学姐发现,每个魔法都是由两种基本元素构成的,A元素和B元素。

而每个魔法的魔力是合成这个魔法的A元素和B元素的大小的和。

例如一个大小为3的A元素和一个大小为6的B元素,能构成一个魔力为9的魔法。

现在卿学姐收集了NN个A元素和NN个B元素。

敏锐的卿学姐立刻发现他能组合出N?NN?N种魔法。

谦虚的卿学姐并不希望自己太跳,所以他准备将这N?NN?N种魔法中的最小的NN种展示给天行廖检查。

现在卿学姐想知道,这N?NN?N种魔法中最小的NN种是什么。

当然,得从小到大输出哦~

Input

第一行一个整数NN

接下来一行有NN个数,表示NN个A元素

接下来一行有NN个数,表示NN个B元素

1N1000001≤N≤100000

1A[i],B[i]10000000001≤A[i],B[i]≤1000000000

Output

输出NN行,每行一个整数

代表N?NN?N种魔法中最小的NN个

Sample input and output

Sample Input

Sample Output

5
1 3 2 4 5 
6 3 4 1 7
2
3
4
4
5

以上是关于卿学姐与魔法(优先队列)的主要内容,如果未能解决你的问题,请参考以下文章

卿学姐与公主

卿学姐与诡异村庄(并查集)

UESTC - 1324 卿学姐与公主

A - 卿学姐与公主(线段树+单点更新+区间极值)

cdoj 1328 卿学姐与诡异村庄 Label:并查集 || 二分图染色

卿学姐与基本法 (线段树+离散化)