首页 > 其他分享 >abc249_d Index Trio 题解

abc249_d Index Trio 题解

时间:2023-04-16 13:34:58浏览次数:49  
标签:Index Trio int 题解 long times abc249 leqslant

Index Trio

题意

给定长度为 \(n\) 的整数序列 \(a = (a_1, a_2, \dots, a_n)\)。请你求出有多少个整数三元组 \((i, j, k)\) 满足:

  • \(1 \leqslant i, j, k \leqslant N\)
  • \(\frac{a_i}{a_j} = a_k\)

数据范围

  • \(1 \leqslant n, a_i \leqslant 2 \times 10^5\)

思路

转变式子:\(\because\frac{a_i}{a_j} = a_k\therefore a_i = a_j \times a_k\)。

这下就好办了,统计每个数的出现次数,对于每个数去枚举它的因数,统计答案即可,记得开long long。

复杂度

  • 时间:\(O(n\times \sqrt{V})\)
  • 空间:\(O(V+n)\)

Code

点击查看代码
#include <iostream>
#include <algorithm>

using namespace std;
using ll = long long;

const int N = 2e5 + 10;

int n, a[N], f[N];
ll ans;

int main () {
  ios::sync_with_stdio(0), cin.tie(0);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    f[a[i]]++; // 桶
  }
  for (int i = 1; i <= n; i++) {
    for (int k = 1; k * k <= a[i]; k++) { // 枚举约数
      if (a[i] % k == 0) {
        ans += 1ll * f[k] * f[a[i] / k] * (k * k != a[i] ? 2 : 1); // 统计答案
      }
    }
  }
  cout << ans;
  return 0;
}

标签:Index,Trio,int,题解,long,times,abc249,leqslant
From: https://www.cnblogs.com/lw0-blog/p/17320137.html

相关文章

  • Ubuntu系统硬盘安装到其他的电脑上,网络连接不上问题解决
    把Ubuntu系统硬盘安装到其他的电脑上,网络连接不了在一台i5电脑上安装好ubuntu18.04后,把该系统磁盘安装到另外一台i5电脑上。系统可以成功启动,但是不能正常上网。解决办法如下:1)用下面这个命令查看本台电脑上可用的网络接口$ifconfig-a#查看可用的网络接口$iplinks......
  • 题解:【ABC298G】Strawberry War
    题目链接场上被F干碎了,没看见这个典题。原题差不多是这个吧......
  • 栈和队列经典题题解
    目录......
  • NOC 2022 初中组选择和编程题题解
    NOC2022初中组选择题和编程题题解注意:本文有几个问题:部分题目我也不确定答案,而且我水平不行,有些题目我还真不会,大家就把我的答案当个参考吧。目前有一大半的题目因为作者比较懒,暂时没写,空在那儿,可以下载原题自己做做。1初中组选拔赛原题链接,提取码:efy6。1.1选择题......
  • 超级码力初赛第三场 最大公倍数 题解
    题目描述小栖有一个区间[a,b],他准备从中取三个数,他想知道如何取才能使得它们的最小公倍数最大请直接告诉小栖最小公倍数是多少。1<=a<b<=5000b-a>=2示例示例1:输入:a=3,b=6输出:60样例解释:4,5,6的最小公倍数是60来源:九章算法解题思路每三个数为一......
  • windows pip问题解决(working)
    当pip无法起效时,尝试python-mpippython-mpip会使用您指定为python的Python解释器来执行pip。因此,/usr/bin/python3.7-mpip表示您正在执行位于/usr/bin/python3.7的解释器的pip。如果您不熟悉这个标志以及它是如何工作的,您可以阅读有关-m的文档......
  • git 遇到的CApath: none问题解决
    在适应git时,遇到了如下问题。fatal:unabletoaccess'https://github.com/brunosimon/folio-2019.git/':errorsettingcertificateverifylocations: CAfile:D:/明月下/Git/mingw64/ssl/certs/ca-bundle.crtCApath:none第一反应是查找这个文件是什么,在不在。首先这......
  • [P4317 花神的数论题]题解
    P4317花神的数论题【数位DP】题目描述最开始其实没有什么想法第一次遇见数位dp求相乘的题想就按照常规做法来做,但不知道如何去处理*于是写了一个错误的代码//当前枚举到第id位,前面的1的个数为sum,是否达到上限limitlldfs(intid,intsum,intlimit){//1.出口if(id==......
  • CF1592F2 题解
    题意传送门给定一个\(n\)行\(m\)列的目标矩阵,矩阵元素只有W或B,并且你有一个初始矩阵,元素全为W。现在你可以矩阵实施以下操作:使用一块钱,选定一个包含\((1,1)\)的子矩阵,把矩阵中的元素全部反转(W变B,B变W)。使用三块钱,选定一个包含\((n,1)\)的子矩阵,把矩阵......
  • Luogu_P1613 跑路 题解
    发现和最短路差不多,不过不能朴素的跑最短路。考虑对于每两个相隔\(2\)的整数次幂的点建边,在这个新图上跑最短路就是答案。设\(f_{i,j,k}\)表示从点\(i\)跳\(2^k\)步能否到点\(j\),转移方程就是一个普通的倍增。如果点\(i\)和点\(j\)可以一步到达,那么就在新图上建一条......