题面

闲聊

暴力分也给的太少了,刁钻

而且为什么菲鲁特不配拥有姓名??给我菲鲁特宝一个大大的姓名

好了不BB了

第一题都挂我也不配拥有姓名。。

分析

其实你会发现密码串b的gcd会构成一个N*N的gcd矩阵,而对角线上的数字正是b序列

而这个gcd矩阵其实就是未被打乱前的a序列

而又要满足不下降,还有一个很显然的结论 a,b≤gcd(a,b)

因此b[1]一定是矩阵中最大的数(默认数组从1开始编号),b[2]一定是第二大的。(对角线上数的需要满足不上升,所以一定比他们小。而比他们小的数的gcd也比他们小)

那么b[3]是否是第三大呢?不一定。除了b[1]和b[2]之外,只可能b[1]和b[2]的gcd比它大。

因此衍生出去,当我们每次求到一个b[i]后,需要把a序列中的gcd(b[i],b[j])(j≤i)全部删掉(每次删两个),再找到一个最大的作为b[i+1]

因为ai在1e9以内,所以又得用map这坑货

复杂度:O(?2 LogN)

代码

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define N 1010
  4. #define RT register
  5. int n,n2,cnt;
  6. int a[N*N],b[N],ans[N],bc[N];
  7. map<int,int>mp;
  8. template<class T>
  9. inline void read(T &x)
  10. {
  11. x=0;int f=1;static char ch=getchar();
  12. while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
  13. while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
  14. x*=f;
  15. }
  16. inline int gcd(int a,int b){return b?gcd(b,a%b):a;}
  17. int main()
  18. {
  19. read(n);n2=n*n;
  20. for(RT int i=1;i<=n2;++i)read(a[i]),mp[a[i]]++;
  21. sort(a+1,a+1+n2);
  22. for(RT int i=n2;i>=1;i--)
  23. while(mp[a[i]])
  24. {
  25. ans[++cnt]=a[i];mp[a[i]]--;
  26. for(int j=1;j<cnt;j++)  mp[gcd(a[i],ans[j])]-=2;
  27. }
  28. for(RT int i=1;i<=n;++i)printf("%d ",ans[i]);
  29. return 0;
  30. }

转载于:https://www.cnblogs.com/NSD-email0820/p/9869632.html

【NOIP模拟】密码相关推荐

  1. Noip 模拟练习5

    Noip 模拟练习5 满分300,本人240.修正后300. 难度中等. 太空密码 Description 人类一直致力于探索地外文明,为此科学家们建造了一个巨大的射电望远镜 用于接收宇宙射线.一天从 ...

  2. 【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告

    [WZOI第二次NOIP模拟赛Day1T2]世界末日 Problem 2 世界末日 (doomsday.pas/c/cpp) 背景 话说CWQ大牛终于打开了那扇神秘大门,但迎接他的不是什么神秘的东西, ...

  3. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  4. 【noip模拟赛4】Matrix67的派对 暴力dfs

    [noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...

  5. 【HHHOJ】NOIP模拟赛 捌 解题报告

    点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...

  6. 闵梓轩大佬のnoip模拟题D1 总结 2017/10/26

    背景 题目概括 T1 题面 分析 90分算法 满分算法 T2 题面 分析 部分分算法 满分算法 满分代码 T3 题面 分析 代码 总结 背景 这道题目是去年的金牌大佬闵梓轩在一年前出的一套noip模拟 ...

  7. jyzy noip模拟赛5.22-2

    不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...

  8. NOIP模拟赛csy2021/10/30

    NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...

  9. NOIP模拟(10.22)T2 杆子的排列

    杆子的排列 题目背景: 10.22 NOIP模拟作业T2 分析:DP 定义状态dp[i][j][k]表示,目前枚举到第i大的数(即n - i + 1)那么显然如果这一个数放在左边,可以在左边被看到,放 ...

  10. NOIP模拟赛 四校联考 递推 + 分类讨论 + 树上期望

    NOIP 模拟题 题目名称兔子被子蚊子 源程序文件名rabbit.cpp quilt.cpp mosquito.cpp 输入文件名rabbit.in quilt.in mosquito.in 输出文件 ...

最新文章

  1. 内核同步机制——互斥量
  2. mac hdmi 不能调整音量_搭配这几个软件,你的 AirPods 在安卓、Mac 上会更好用
  3. python 福利彩票_使用Python买福彩,5个数字,20选5,有没买过
  4. .NET中委托写法的演变(上):委托与匿名方法
  5. 102.二叉树的层序遍历
  6. Linux系统管理(8)——Ubuntu安装ssh服务 以及版本查看命令
  7. 微软发表IE浏览器 F1漏洞安全公告
  8. PHP 缓存 内存,php - 一个大型数组变量的APC内存缓存(22MB)
  9. 【操作系统笔记】中断和异常
  10. 错误RuntimeError: Invalid DISPLAY variable
  11. C# CRC16 modbus
  12. java8 json转xml,在Java中将JSON转换为XML
  13. 2024考研《艺术学概论》彭吉象|复习笔记(上篇)(1-6章)
  14. UEditor定制工具栏图标
  15. ASCII码对应表chr(9)、chr(10)、chr(13)、chr(34)、chr(39)、chr(46)
  16. C++ RegSetValueEx返回值始终为5
  17. Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十六进制等
  18. 蓝桥杯单片机关闭蜂鸣器、继电器LED及数码管
  19. Prior Posterior和Likelihood的理解与几种表达方式
  20. 毕业设计 stm32单片机的家庭成员监控监护系统 - 物联网 嵌入式

热门文章

  1. Guacamole 远程桌面
  2. 爬虫之 json 数据处理
  3. 托福字典:progressively托福考试详解
  4. 工业级宽温版RK3399K核心板发布
  5. 【XMind】如何用XMind8绘制流程图?
  6. 从消费互联网到产业互联网,土巴兔如何助力家装行业迎来二次腾飞
  7. 休闲娱乐-----不是看他对你有多好,而是看他对你最差的时候有多差
  8. 电力系统学计算机有用吗,电力系统中计算机技术的应用
  9. CASS坐标导入并展点显示
  10. 2021-08-04HTML