我是靠谱客的博主 怡然小甜瓜,这篇文章主要介绍牛客小白月赛59 F.困难卷积(暴力)牛客小白月赛59 F.困难卷积(暴力),现在分享给大家,希望可以做个参考。

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

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

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

m ≤ 4000 mle 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.困难卷积(暴力)牛客小白月赛59 F.困难卷积(暴力)的全部内容,更多相关牛客小白月赛59内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(144)

评论列表共有 0 条评论

立即
投稿
返回
顶部