牛客小白月赛59 F.困难卷积(暴力)

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客小白月赛59 F.困难卷积(暴力)相关的知识,希望对你有一定的参考价值。

牛客小白月赛59 F.困难卷积(暴力)

题目有个很重要的条件 ∑ a i , ∑ b i ≤ 1 0 7 \\sum a_i,\\sum b_i\\le 10^7 ai,bi107

那么显然最多不同的 a i a_i ai个数为: m ( m + 1 ) / 2 ≤ 1 0 7 m(m+1)/2\\le 10^7 m(m+1)/2107

m ≤ 4000 m\\le 4000 m4000。那么我们用map存值,然后二重循环暴力算即可。

时间复杂度: O ( m 2 ) O(m^2) O(m2)

#include<bits/stdc++.h>
using namespace std;
int main()
    map<int,int>m1,m2;
    int n,i,x;
    cin>>n;
    for(i=0;i<n;i++)
        cin>>x;
        m1[x]++;
    
    for(i=0;i<n;i++)
        cin>>x;
        m2[x]++;
    
    long long res=0;
    for(auto i:m1)
        for(auto j:m2)
            res+=1ll*i.second*j.second*((int)sqrt(abs(i.first-j.first)));
        
    
    cout<<res;
    

以上是关于牛客小白月赛59 F.困难卷积(暴力)的主要内容,如果未能解决你的问题,请参考以下文章

牛客白月赛32题解

牛客白月赛49题解

牛客白月赛3 题解

牛客白月赛23题解

F.孤独(牛客小白月赛39)

牛客小白月赛61 F.选座椅(双指针)