首页 > 其他分享 >[省选联考 2021 B 卷] 数对 题解

[省选联考 2021 B 卷] 数对 题解

时间:2022-12-23 09:55:33浏览次数:45  
标签:10 le 题解 数对 times 联考

题目描述

给定 \(n\) 个正整数 \(a_i\),请你求出有多少个数对 \((i, j)\) 满足 \(1 \le i \le n\),\(1 \le j \le n\),\(i \ne j\) 且 \(a_i\) 是 \(a_j\) 的倍数。

提示

对于 \(40 \%\) 的数据,\(n \le 1000\)。
对于 \(70 \%\) 的数据,\(1 \le a_i \le 5 \times {10}^3\)。
对于 \(100 \%\) 的数据,\(2 \le n \le 2 \times {10}^5\),\(1 \le a_i \le 5 \times {10}^5\)。

题解

开个桶,对每个数枚举倍数,做完了。

代码:

#include<bits/stdc++.h>
#define For(i,l,r) for(int i=(l);i<=(r);++i)
typedef long long ll;
const int N=500010;
using namespace std;
int n;
int cnt[N];
ll ans;
int main()
{
	scanf("%d",&n);
	For(i,1,n)
	{
		int x;
		scanf("%d",&x);
		++cnt[x];
	}
	For(i,1,N-10)
	{
		if(cnt[i]!=0)
		{
			ans+=(1ll*cnt[i]*(cnt[i]-1));
			for(int j=2;j*i<=(N-10);++j)
				ans+=(1ll*cnt[i]*cnt[j*i]);
		}
	}
	printf("%lld",ans);
	return 0;
}

标签:10,le,题解,数对,times,联考
From: https://www.cnblogs.com/llzer/p/17000059.html

相关文章

  • chrome使用拖拽本地扩展时无法安装的问题解决办法
    在使用Chrome拖拽安装本地扩展时会提示无法安装,可以采用以下两个方法解决1、修改.crx文件文件格式为zip,并进行解压,然后打开扩展安装界面的开发者模式,使用加载已解压的扩展......
  • Codeforces 1654 G Snowy Mountain 题解 (重心分治)
    题目链接假设现在起点已经确定,我们观察从这个起点开始能走的最长路径长什么样。把这条最长路径中所有的非平地路径拿出来,它们肯定连成一线,因为不允许上坡;而一条路径重复走......
  • luoguP2254 [NOI2005]瑰丽华尔兹 题解
    传送门题意给定\(n\)行\(m\)列的矩阵和钢琴的初始位置\((x,y)\),给定\(k\)个时间段,在每个时间段内钢琴会向给定方向(上/下/左/右)滑动,\(1\)秒移动\(1\)个单位长度......
  • 问题解决1
      出现这样的问题需要导入jar包 ......
  • 洛谷 P5401 [CTS 2019] 珍珠 题解
    题目链接令\(c_i\)表示第i种颜色的珍珠的数量,显然我们最多能装的瓶数是\(\sum\lfloor\frac{c_i}2\rfloor\)。也就是说,\(c_i\)为奇数的\(i\)的数量不能太多,这个数量要......
  • MEGAN V2.10 的pgf90编译器安装以及相关问题解决
    这里列出了一些MEGAN安装中可能遇到的一些问题,分享出我自己的一些解决方法。pgf90编译器的下载:目前PGI已经被整合到NVIDA官方cuda,所以只能直接下载整个到linux中:https:/......
  • [USACO18OPEN] Talent Show G 题解
    [USACO18OPEN]TalentShowG想法同样是01分数规划。思路先假设一个不够好的答案\(mid\),则原答案可表示为\[\dfrac{\sumt_i}{\sumw_i}(\sumw_i\geqW)\]我们先......
  • [USACO07DEC]Sightseeing Cows 题解
    题目描述[USACO07DEC]SightseeingCows给定一张\(L\)个点、\(P\)条边的有向图,每个点都有一个权值\(f[i]\),每条边都有一个权值\(t[i]\)。求图中的一个环,使“环上各......
  • [CF1422D] Returning Home 题解
    题目描述一个\(n\timesn\)的网格,求两点间最短用时。你可以用一分钟向上下左右任意一个方向移动一格.特别的,城市中有\(m\)个传送点,第\(i\)个的坐标为\((x_{i},y_{i})......
  • USACO 2022 Dec 铂金组题解
    有生之年终于AK一次Pt组了,发个题解玩玩。T1-Breakdown大部分情况下,题目里若存在一个很小的\(k\)这样的角色,都是因为它在复杂度指数上(包括但不限于\(2^{\operato......