我是靠谱客的博主 怡然小甜瓜,最近开发中收集的这篇文章主要介绍牛客小白月赛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 F.困难卷积(暴力)牛客小白月赛59 F.困难卷积(暴力)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部