【NOIP模拟】密码
题面
闲聊
暴力分也给的太少了,刁钻
而且为什么菲鲁特不配拥有姓名??给我菲鲁特宝一个大大的姓名
好了不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)
代码
- #include<bits/stdc++.h>
- using namespace std;
- #define N 1010
- #define RT register
- int n,n2,cnt;
- int a[N*N],b[N],ans[N],bc[N];
- map<int,int>mp;
- template<class T>
- inline void read(T &x)
- {
- x=0;int f=1;static char ch=getchar();
- while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
- while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
- x*=f;
- }
- inline int gcd(int a,int b){return b?gcd(b,a%b):a;}
- int main()
- {
- read(n);n2=n*n;
- for(RT int i=1;i<=n2;++i)read(a[i]),mp[a[i]]++;
- sort(a+1,a+1+n2);
- for(RT int i=n2;i>=1;i--)
- while(mp[a[i]])
- {
- ans[++cnt]=a[i];mp[a[i]]--;
- for(int j=1;j<cnt;j++) mp[gcd(a[i],ans[j])]-=2;
- }
- for(RT int i=1;i<=n;++i)printf("%d ",ans[i]);
- return 0;
- }
转载于:https://www.cnblogs.com/NSD-email0820/p/9869632.html
【NOIP模拟】密码相关推荐
- Noip 模拟练习5
Noip 模拟练习5 满分300,本人240.修正后300. 难度中等. 太空密码 Description 人类一直致力于探索地外文明,为此科学家们建造了一个巨大的射电望远镜 用于接收宇宙射线.一天从 ...
- 【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告
[WZOI第二次NOIP模拟赛Day1T2]世界末日 Problem 2 世界末日 (doomsday.pas/c/cpp) 背景 话说CWQ大牛终于打开了那扇神秘大门,但迎接他的不是什么神秘的东西, ...
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
- 【noip模拟赛4】Matrix67的派对 暴力dfs
[noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...
- 【HHHOJ】NOIP模拟赛 捌 解题报告
点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...
- 闵梓轩大佬のnoip模拟题D1 总结 2017/10/26
背景 题目概括 T1 题面 分析 90分算法 满分算法 T2 题面 分析 部分分算法 满分算法 满分代码 T3 题面 分析 代码 总结 背景 这道题目是去年的金牌大佬闵梓轩在一年前出的一套noip模拟 ...
- jyzy noip模拟赛5.22-2
不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...
- NOIP模拟赛csy2021/10/30
NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...
- NOIP模拟(10.22)T2 杆子的排列
杆子的排列 题目背景: 10.22 NOIP模拟作业T2 分析:DP 定义状态dp[i][j][k]表示,目前枚举到第i大的数(即n - i + 1)那么显然如果这一个数放在左边,可以在左边被看到,放 ...
- NOIP模拟赛 四校联考 递推 + 分类讨论 + 树上期望
NOIP 模拟题 题目名称兔子被子蚊子 源程序文件名rabbit.cpp quilt.cpp mosquito.cpp 输入文件名rabbit.in quilt.in mosquito.in 输出文件 ...
最新文章
- 内核同步机制——互斥量
- mac hdmi 不能调整音量_搭配这几个软件,你的 AirPods 在安卓、Mac 上会更好用
- python 福利彩票_使用Python买福彩,5个数字,20选5,有没买过
- .NET中委托写法的演变(上):委托与匿名方法
- 102.二叉树的层序遍历
- Linux系统管理(8)——Ubuntu安装ssh服务 以及版本查看命令
- 微软发表IE浏览器 F1漏洞安全公告
- PHP 缓存 内存,php - 一个大型数组变量的APC内存缓存(22MB)
- 【操作系统笔记】中断和异常
- 错误RuntimeError: Invalid DISPLAY variable
- C# CRC16 modbus
- java8 json转xml,在Java中将JSON转换为XML
- 2024考研《艺术学概论》彭吉象|复习笔记(上篇)(1-6章)
- UEditor定制工具栏图标
- ASCII码对应表chr(9)、chr(10)、chr(13)、chr(34)、chr(39)、chr(46)
- C++ RegSetValueEx返回值始终为5
- Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十六进制等
- 蓝桥杯单片机关闭蜂鸣器、继电器LED及数码管
- Prior Posterior和Likelihood的理解与几种表达方式
- 毕业设计 stm32单片机的家庭成员监控监护系统 - 物联网 嵌入式