首页 > 其他分享 >洛谷 P7517 [省选联考 2021 B 卷] 数对

洛谷 P7517 [省选联考 2021 B 卷] 数对

时间:2024-10-10 20:21:32浏览次数:15  
标签:P7517 cnt int 数对 cin long mx tie 联考

题目传送门

解题思路

其实你只要知道:

n \times \sum _{i=1} ^{n} n/i= n \log n

这题你就秒了。

我们发现 a_i \leq 5 \times 10^5,于是开一个桶来统计每个数出现的数量。

我们只需要枚举每一个数的倍数,然后统计。

最后,如果一个数出现了多次,再特判一下即可。

代码

#include<bits/stdc++.h>
using namespace std;

int n;
int cnt[500001];
int mx;
long long ans;
long long temp;
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	int x;
	for(int i=1;i<=n;i++)
	{
		cin>>x;
		mx=max(mx,x);
		cnt[x]++;
	}
	
	for(int i=1;i<=mx;i++)
	{
		temp=0;
		for(int j=2;j<=mx/i;j++)
		{
			temp+=cnt[i*j];
		}
		temp+=cnt[i]-1;
		temp*=cnt[i];
		ans+=temp;
	}
	cout<<ans;
	return 0;
}

标签:P7517,cnt,int,数对,cin,long,mx,tie,联考
From: https://blog.csdn.net/2403_87021226/article/details/142723224

相关文章

  • [省选联考 2024] 魔法手杖
    一年之后再看好歹是会双log做法的84分的,虽然可能被卡常首先显然有\(x\oplusy\lex+y\)。对于一个最优的方案\(S,x\)你显然如果不影响$\oplus$部分的最值的话移走的最优的。所以我们只会将会影响$\oplus$部分最值的留在\(S\)。考虑二分答案\(mid\),判断有没有\(\ge......
  • 10.8日noip联考总结
    10.8日noip联考总结T1考试的时候没有想到可以快速用组合数进行统计答案,于是在正常的匹配栈里还套了一个\(O(n)\)的统计答案。其实只需要在里面统计个数,在用乘法原理就可以了。括号匹配引导我们使用匹配栈,而需要快速统计答案又可以想到组合计数。T2这题不用输出方案的话就......
  • 10.7 noip多校联考与牛客CSP-S总结
    我在这里对我今天在牛客考试中进入洛谷做出深刻的反省,我不应该在考试的时候上与考试无关的网站(洛谷),保证没有下犯,在该做什么的时候就做什么,分清主次。10.7noip多校联考与牛客CSP-S总结noip联考T1是一道类似于概率计数DP的题,统计概率。通过题目给出的信息,可以发现使用概率,而统......
  • 华为OD机试真题---整数对最小和
    题目描述给定两个整数数组array1和array2,数组元素按升序排列。假设从array1和array2中分别取出一个元素可构成一对元素。现在需要取出K个元素对(即从两个数组中各取一个元素组成一个对,共取K个这样的对),并对取出的所有元素求和,计算和的最小值。注意:两对元素如果对应于array1和......