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

打卡信奥刷题(3077)用C++实现信奥题 P7023 [NWRRC 2017] Equal Numbers

P7023 [NWRRC 2017] Equal Numbers

题目描述

给定一个包含n nn个整数a 1 , … , a n a_{1}, \ldots, a_{n}a1,,an的列表。你可以执行以下操作:选择某个a i a_{i}ai并将其乘以任意正整数。

你的任务是计算在进行k kk次操作后列表中可能出现的不同整数的最小数量,要求对所有0 ≤ k ≤ n 0 \le k \le n0kn都进行计算。

输入格式

输入的第一行包含一个整数n ( 1 ≤ n ≤ 3 × 10 5 ) n (1 \le n \le 3 \times 10^{5})n(1n3×105)。输入的第二行包含n nn个整数a i ( 1 ≤ a i ≤ 10 6 ) a_{i} (1 \le a_{i} \le 10^{6})ai(1ai106)

输出格式

输出一行包含n + 1 n + 1n+1个整数。第i ii个整数应为在进行i − 1 i - 1i1次操作后列表中可能的不同整数的最小数量。

输入输出样例 #1

输入 #1

6 3 4 1 2 1 2

输出 #1

4 4 3 3 2 2 1

说明/提示

时间限制:3 秒,内存限制:512 MB。

题面翻译由 ChatGPT-4o 提供。

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintN=2e6+5;inta[N],cnt[N],vis[N],sum[N],n,m,k,x,y,b[N],c[N],d[N],T,len;intmain(){ios::sync_with_stdio(0);cin.tie(0);cin>>n;for(inti=1;i<=n;i++){cin>>d[i];vis[d[i]]++;//输入并记录每个数的出现次数}sort(d+1,d+1+n);for(inti=1;i<=n;i++){if(d[i]!=d[i-1]){a[++m]=d[i];c[m]=vis[d[i]];}}for(inti=1;i<=m;i++){for(intj=a[i]*2;j<=1e6;j+=a[i]){if(vis[j]){b[++len]=vis[a[i]];break;}}}sort(c+1,c+1+m);sort(b+1,b+1+len);//记得排序,毕竟选越小的越优for(inti=1;i<=n;i++){sum[i]=sum[i-1]+c[i];cnt[i]=cnt[i-1]+b[i];//前缀和优化}intx=0,y=0;for(inti=0;i<=n;i++){while(x+1<=m&&sum[x+1]<=i)++x;while(y+1<=len&&cnt[y+1]<=i)++y;cout<<(m-max(x-1,y))<<' ';}cout<<'\n';return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/615049/

相关文章:

  • Kazumi开源番剧播放器功能使用指南
  • 打卡信奥刷题(3078)用C++实现信奥题 P7033 [NWRRC 2016] CodeCoder vs TopForces
  • Jenkins 学习总结腋
  • 容器化网络与Kubernetes网络深度解析
  • 探索图腾柱无桥PFC的奇妙世界
  • 3步解决浏览器Markdown阅读难题:从乱码到专业渲染的蜕变之路
  • 3大突破!Kazumi跨设备进度同步带来无缝追番体验
  • 智慧停车占道车位管理器厂家怎么选?行业龙头和AI新锐标杆的对比选择 - TOP10品牌推荐榜单
  • GraalVM Native Image内存优化实战手册(含JDK21+GraalVM24.1插件全链路安装避坑清单)
  • 基于yolov8和faster-rcnn的电动车戴头盔检测,界面可选择模型,支持图像、视频和摄像实时检测【pytorch框架、python源码】
  • 0—1完整学习数据库
  • 排序算法C++
  • 实战案例】三菱FX5U PLC控制四轴自动堆垛码垛设备程序详解及显控触摸屏设计
  • Vitest单元测试教程
  • AI时代新型的项目管理应该是什么样的?么
  • 贾子科学的历史意义与现实影响:挑战西方科学哲学霸权的新范式
  • 如何用Sunshine构建家庭游戏串流中心:打破硬件限制的完整实践指南
  • Caddy GO语言写的服务器代理
  • vulhub系列-66-Hms?: 1(超详细)
  • Hampel滤波器的完整C#实现示例,适合用于信号处理(如IGBT功率循环测试中的Vf波形或TVJ数据去离群点)
  • 亚马逊停止旧款 Kindle 支持,用户与市场面临新变局
  • 2025届学术党必备的五大AI论文神器实测分析
  • XCOM RAN推出面向物理AI的端到端私有5G解决方案
  • Steam Achievement Manager:全方位游戏成就管理工具深度解析
  • iOS 15-16 iCloud激活锁绕过:applera1n图形化工具完整使用指南
  • PFC(Power Factor Correction,功率因数校正)
  • PHP条形码生成轻量级实现:从行业痛点到跨场景适配的完整解决方案
  • 第十五节:启动序列——从 claude 命令到 REPL 就绪
  • Bilibili-Evolved革新性动画性能优化指南:全方位提升B站观看体验
  • 多线程设计:join() 理解