博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P1414 又是毕业季II
阅读量:6863 次
发布时间:2019-06-26

本文共 819 字,大约阅读时间需要 2 分钟。

我真傻,真的。这么简单的题都想了半天


其实挺简单的。暴力记录每一个约数出现的个数。

然后考虑输出答案。

可以想到,答案是逐渐变小的,而每个约数出现次数随着其增长而减小。

于是可以用一些玄学技巧来找出答案。

#include 
#include
#include
#include
using namespace std;typedef pair
P;const int MAXN = 1e4 + 20;const int MAXM = 1e6 + 20;int N, a[MAXN];int vis[MAXM];inline void calc(int x){ for(int i = 1; i * i <= x; i++){ if(x % i == 0) { ++vis[i]; if(x / i != i) ++vis[x / i]; } }}int main(){ cin>>N; for(int i = 1; i <= N; i++){ scanf("%d", &a[i]); calc(a[i]); } int p = MAXM - 1; for (int i = 1; i <= N; i++) { while (vis[p] < i) p--; cout << p << endl; } return 0;}

 

转载于:https://www.cnblogs.com/wsmrxc/p/9286332.html

你可能感兴趣的文章
Selenium2+Python--下拉选择用select
查看>>
easyui 跳转页面语句
查看>>
golang 中unicode包用法
查看>>
20165226第二次实验
查看>>
2018.8.3记
查看>>
python 循环列表的同时做删除操作
查看>>
转载学习:Objective-C常用的函数,
查看>>
shell脚本 expect 实现自动登陆
查看>>
SEH结构化异常处理
查看>>
OGG_GoldenGate数据迁移三进程Extract / Dump / Relicat(案例)
查看>>
OAF_文件系列11_实现OAF读写Excel包JXL和POI的区别(概念)
查看>>
未整理:MediaPlayer(1,2)
查看>>
c# 串口发送接收数据
查看>>
每周一荐:Objective-C的开源开发环境GNUstep
查看>>
10-C语言循环结构(一)
查看>>
python学习笔记--基础概要
查看>>
2018/11/28 scp eve-ng
查看>>
使用Django操作数据库入门
查看>>
ny106 背包问题
查看>>
nyoj228 士兵杀敌(5)插线问线
查看>>