码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-08-25 18:52:51      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:合成   code   put   row   style   学习   include   log   preview   

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

所以就用优先队列,让里面只装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

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

标签:合成   code   put   row   style   学习   include   log   preview   

原文地址:http://www.cnblogs.com/blvt/p/7429255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!