牛客小白月赛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,∑bi≤107
那么显然最多不同的 a i a_i ai个数为: m ( m + 1 ) / 2 ≤ 1 0 7 m(m+1)/2\\le 10^7 m(m+1)/2≤107。
则 m ≤ 4000 m\\le 4000 m≤4000。那么我们用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.困难卷积(暴力)的主要内容,如果未能解决你的问题,请参考以下文章