当前位置: 首页 > news >正文

ABC393E

由于 \(a_i \le 10^6\),故可以一遍求出 \([1,10^6]\) 内每个数的因数以及这个数的倍数在 \(a\) 中的出现次数。求完后对每个 \(a_i\) 暴力枚举因数,判断其倍数出现次数是否超过 \(k\) 并更新答案即可。

总时间复杂度 \(O(N\log N+nd(a_i))\),其中 \(N=10^6\),又由于 \(a_i\le 10^6\),故 \(\max \{ d(a_i) \} \le 240\),可以通过本题。如果后半部分预处理完 \([1,10^6]\) 内所有答案再输出,则复杂度 \(O(N\log N+n)\),但实际运行稍慢。以下代码为第一种写法。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#define N 1000000using namespace std;vector<int> p[N + 10];
int n,k,a[N * 2 + 10],f[N + 10],g[N + 10];int main()
{cin >> n >> k;for( int i = 1 ; i <= n ; i ++ )cin >> a[i],f[a[i]] ++;for( int i = 1 ; i <= N ; i ++ )for( int j = i ; j <= N ; j += i )p[j].push_back( i ),g[i] += f[j];for( int i = 1 ; i <= n ; i ++ ){for( int j = p[a[i]].size() - 1 ; j >= 0 ; j -- )if( g[p[a[i]][j]] >= k ){cout << p[a[i]][j] << '\n';break;}}return 0;
}
http://www.agseo.cn/news/276/

相关文章:

  • ABC393D
  • ZR 25 noip D1T2 题解 | 最短路
  • NOIP2024 退役记
  • LG11311
  • CF1746F
  • ABC389F
  • LG10641
  • P11068
  • scp拷贝文件报错
  • ABC150 C-F
  • 【游戏设计】五子棋设计思路
  • LG10516
  • 11.1 定义类和对象
  • C#.NET EFCore.BulkExtensions 扩展详解
  • 2025AI赋能HR新纪元,中国AI HR主流厂商大盘点
  • Linux作业及状态转换
  • C++小白修仙记_LeetCode刷题_队列
  • 设备驱动程序和设备独立性软件的区别
  • Fastjson 1.2.47 远程代码执行
  • 树状数组板子
  • 私有化部署Dify构建企业AI平台教程
  • 树状数组板子2
  • 网络流——OI复健
  • 2025“钉耙编程”中国大学生算法设计暑期联赛(3)
  • Symfony学习笔记 - Symfony Documentation - Getting Started(下)
  • MySQL事务
  • 线段树板子
  • 双列圆锥滚子轴承载荷分布计算程序
  • NOIP 集训日记
  • 矢量篇 - KMLKMZ转SHP