P1571 眼红的Medusa

Posted pureayu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1571 眼红的Medusa相关的知识,希望对你有一定的参考价值。

 第一眼看到这道题就是想排序一下然后接着查找就行了,时间复杂度为O(n^2),

但当看到题目给的数据范围时便发现这种做法非超时不可,于是便要对查找进行优化,进而想到二分查找

时间复杂度为O(logN),很符合题目的潜规则 要求。

题目有个小坑:输出顺序要求是科技进步奖的输入顺序,因此不能对科技排序,但要对特殊贡献进行排序。

然后进行二分查找。

还有一个点需要注意的是题目的数据范围很大,数据要开大一点。

技术图片

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 using namespace std;
 5 long long a[200010], b[200010];
 6 int n, m;
 7 bool yes(long long  temp){
 8     long long l = 1, r = m;
 9     while(l <= r){
10         long long  mid = l + (r - l) / 2;
11         if(temp == b[mid])
12             return true;
13         else if(temp < b[mid])
14             r = mid - 1;
15         else
16             l = mid + 1;
17     }
18     return false;
19 }
20 int main(){
21     cin >> n >> m;
22     for(int i = 1; i <= n; i ++)
23         scanf("%lld",&a[i]);
24     for(int i = 1; i <= m; i ++)
25         scanf("%lld",&b[i]);
26     sort(b + 1, b + m + 1);
27     for(int i = 1; i <= n; i ++){
28         if(yes(a[i]))
29             cout << a[i] <<  ; 
30     }
31     return 0;
32 }

 

以上是关于P1571 眼红的Medusa的主要内容,如果未能解决你的问题,请参考以下文章

Medusa 又一个 Shopify 的开源替代品!

Medusa 又一个 Shopify 的开源替代品!

medusa 2.0的简单使用

利用medusa破解linux ssh密码

The Raft of the Medusa

美杜莎之筏 The Raft of Medusa