题意简述:数组a经过一系列操作之后获得数组b,给你数组b,构造出一个满足条件的数组a

操作如下从左到右扫描数组a,如果是一个素数,那么把第这个素数的素数加到数组a中,例如a[1]=2那么加3到数组a当中

如果是一个和数,那么把这个和数的最大因数加进去,这个因数不能等于他本身

只操作N次,N为数组a的长度,操作之后打乱b数组

题解:需要一定的思维,我们考虑一些特殊的值,比如最大值,然后如果是素数,那么说明他是操作1加进去的,然后我们就可以知道是哪个数产生了他

如果不是素数,说明他就是数组a中的数

然后就出来了,另外如果我们去考虑最小值是出不来的,因为情况不止一种

很多问题都可以用这种方式来得到答

int v[maxn+5],prime[maxm],tot;

int Rank[maxn];

void init(){
for(int i=2;i<maxn;i++){
if(!v[i]) v[i]=i,prime[++tot]=i;
for(int j=1;j<=tot && i<=maxn/prime[j];j++){
v[i*prime[j]]=prime[j];
if(i%prime[j]==0) break;
}
}
for(int i=1;i<=tot;i++)
Rank[prime[i]]=i;
} int cnt[maxn]; int main(){
init();
int n;
cin>>n;
for(int i=0;i<2*n;i++){
int x;
scanf("%d",&x);
cnt[x]++;
}
for(int i=maxn-1;i>=0;i--){
for(int j=0;j<cnt[i];j++){
if(v[i]==i) {
printf("%d ",Rank[i]);
cnt[Rank[i]]--;
}
else {
printf("%d ",i);
cnt[i/v[i]]--;
}
}
}
}

  

案,就是考虑一些特殊的值,要牢记于心

cf1176D的更多相关文章

随机推荐

  1. js关于时间(date)的比较

    之前在工作上遇到一个问题:使用一些时间插件,如果有俩个时间,要判断结束时间和开始时间的大小?后来就查找了一些资料,这边整理出俩个比较简便的方法. 在这我拿 laydate.js 这个插件来举例: 首先 ...

  2. 使用Apache服务器实现Nginx反向代理

    实验环境:centos7 注:因为本次实验在同一台服务器上,Apache与Nginx同为80端口,所以改Apache端口为60 1 配置Nginx服务器: 编辑Nginx配置文件,写入以下内容 loc ...

  3. node.js+express+mongoose实现用户增删查改案例

    node.js+express+mongodb对用户进行增删查改 一.用到的相关技术 使用 Node.js 的 express 框架搭建web服务 使用 express 中间件 body-parse ...

  4. Iterator Protocol - Python 描述符协议

    Iterator Protocol - Python 描述符协议 先看几个有关概念, iterator 迭代器, 一个实现了无参数的 __next__ 方法, 并返回 '序列'中下一个元素,在没有更多 ...

  5. Zookeeper 应用实例

    配置管理 程序总是需要配置的,如果程序分散部署在多台机器上,要逐个改变配置就变得困难.好吧,现在把这些配置全部放到zookeeper上去,保存在 Zookeeper 的某个目录节点中,然后所有相关应用 ...

  6. 服务器安全之iptables

    服务器安全之iptables iptables防火墙简介 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的基于包过滤的防火墙 ...

  7. nginx官网版本说明

    nginx软件下载:http://nginx.org/en/download.html Mainline version:Nginx 正在主力开发的版本Stable version:最新稳定版,生产环 ...

  8. Linux安装virtualenvwrapper

    1.pip install virtualenvwrapper 2.export WORKON_HOME=/home/virtualenv  //配置虚拟环境变量,以后直接mkvirtualenv 虚 ...

  9. PBFT 算法 java实现(下)

    PBFT 算法的java实现(下) 在上一篇博客中(如果没有看上一篇博客建议去看上一篇博客),我们介绍了使用Java实现PBFT算法中节点的加入,view的同步等操作.在这篇博客中,我将介绍PBFT算 ...

  10. 珠峰-vue