关于此题Codeforces Round 1003 (Div. 4)_G. Skibidus and Capping

news/2025/2/28 11:27:06/文章来源:https://www.cnblogs.com/lwiwi/p/18742861

记录解决这道题过程中先后的疏忽

#include<bits/stdc++.h>using namespace std;long long t;
const long long N = 2e5 + 10;
long long n,a[N],ans;
long long Prime[N],tot,pos[N],p[N];
long long sum[N],num,h[N];
bool vis[N],v[N];void work() {for(long long i = 2;i < N;i++) {if(!vis[i]) Prime[++tot] = i;for(long long j = 1;j <= tot && i * Prime[j] < N;j++) {vis[i * Prime[j]] = 1;if(i % Prime[j] == 0) break;}}
}void solve() {for(long long i = 0;i <= n;i++) pos[i] = ans = sum[i] = num = v[i] = 0;cin >> n;for(long long i = 1;i <= n;i++) cin >> a[i];long long cnt = 0;for(long long i = 1;i <= n;i++) if(!vis[a[i]]) cnt++,p[a[i]]++;else h[a[i]]++;                                             //漏了相同合数之间可以作为一对for(long long i = 1;i <= n;i++)if(!vis[a[i]] && p[a[i]]) sum[++num] = p[a[i]],p[a[i]] = 0;for(long long i = 1;i <= num;i++) {cnt -= sum[i];                                              //质数之间统计答案出错ans += cnt * sum[i];}for(long long i = 1;i <= n;i++)if(vis[a[i]])for(long long j = 2;j <= sqrt(a[i]);j++) {if(a[i] % j == 0) {long long tmp = a[i] / j;if(!vis[tmp] && !vis[j]) {pos[j]++;if(j != tmp) pos[tmp]++;ans++;                                                  //漏了合数自己跟自己可以构成一对答案v[a[i]] = 1;break;}}}for(int i = 1;i <= n;i++)if(h[a[i]] && v[a[i]]) ans += h[a[i]] * (h[a[i]] - 1) / 2,h[a[i]] = 0;  //合数本身必须满足题意才能在相同合数之间配对for(long long i = 1;i <= n;i++)if(!vis[a[i]]) ans += pos[a[i]];cout << ans << '\n';
}signed main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);work();cin >> t;while(t--) solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/891084.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈Tox之二

本文分享自天翼云开发者社区《浅谈Tox之二》,作者:Moonriver1. 配置 加载tox.ini并将其与命令行和操作系统环境变量中的选项合并。 2. 包装(可选) 通过调用python setup.py sdist创建当前项目的源代码版本库。 注意对于此操作,Python环境将与安装tox时的相同(因此需要确保…

重塑团队协作:从混乱到高效的团队管理工具指南

设计团队管理工具是一个复杂但至关重要的任务,它要求工具能够满足团队在项目管理、协作、沟通、资源分配和进度跟踪等方面的需求。以下是一些设计团队管理工具时应考虑的关键因素以及推荐的团队管理工具: 设计团队管理工具的关键因素 ● 明确目标与角色分工:工具应支持将团队…

TCP IP 网络协议基础

TCP IP 简介可见 TCP/IP 被分为 4 层,每层承担的任务不一样,各层的协议的工作方式也不一样,每层封装上层数据的方式也不一样:应用层:应用程序通过这一层访问网络,常见 FTP、HTTP、DNS 和 TELNET 协议; 传输层:TCP 协议和 UDP 协议; 网络层:IP 协议,ARP、RARP 协议,…

机械图纸文章标题搜索增强实现过程

机械图纸文章标题搜索增强实现过程 1. 为什么需要使用搜索增强技术机械图纸标题搜索的挑战:机械图纸标题通常包含专业术语、缩写和特定格式(如“土豆分拣机 DWG-001 不锈钢”)。 用户查询可能模糊或表述不同(如“马铃薯筛选机”),传统搜索难以匹配语义相似的标题。 标题信…

煎熬中的二代基因测序

提到基因测序,绝大多数人第一印象就是二代测序。的确,一代Sanger测序弊端太多,三代单分子测序和四代纳米孔测序(生物纳米孔和固态纳米孔)刚刚崭露头角,且有一些问题仍待解决(比如微电流信号精准捕捉、1-3nm原子级纳米孔开孔等)。综合来看,一代Sanger如英雄迟暮、三四代…

智能驾驶辅助系统ADAS

经纬恒润将更高性能的800W像素摄像头、先进的视觉EQ6方案、成熟的控制算法进行了优势组合,推出了全新一代的前视单目摄像头解决方案。经纬恒润智能驾驶辅助系统ADAS新方案旨在更好的应对市场ADAS性能提升与成本压力的博弈,寻找L2+自动驾驶功能升级的最优解。 随着L2+自…

基于 Trae Claude-3.7 从0到1 打造加密货币钱包Dompet-App

从0到1:用Trae Claude-3.7打造加密货币钱包Dompet-App📱 项目介绍 大家好!今天我要分享如何使用强大的AI助手Trae Claude-3.7,从零开始构建一款功能丰富的加密货币钱包应用——Dompet-App。无论你是区块链爱好者还是移动开发新手,这个项目都能让你快速掌握React Native开…

国产化FMC接口通用计算平台设计原理图:2367-基于FMQL45T900 FMC接口通用计算平台

一、板卡概述 板卡由 FMQL45T900I芯片来完成卡主控及数字信号处理, FMQL45T900内部集成了两个ARM Cortex-A9核和一个kintex 7的FPGA,通过PL端FPGA扩展FMC、光纤、IO等接口,PS端ARM扩展网络、USB、RS232等接口。板卡适应于图像处理、震动、通信、雷达等前端信号处理或者手持机…

.NET 10 首个预览版发布,跨平台开发与性能全面提升

前言 2024年2月25日,微软正式推出 .NET 10 预览版 1,标志着这一跨平台开发框架迈入新里程碑。 本次更新聚焦 JIT 编译器优化、运行时性能提升和跨平台开发体验增强,同时引入多项开发者期待的功能改进。 无论是服务端应用、移动开发,还是桌面程序,.NET 10 都展现了强大的技…

uniapp app端弹窗提示 代码块

前提:uniapp的app端,用uni自带的toast,icon会自占一行,很丑 如图: 利用 plus.nativeUI.toast 显示正常大小的iconplus.nativeUI.toast(e,{type: text,duration: short,style: "inline",align: center,verticalAlign: center,icon: "/static/images/icon/su…

极验4

极验4demo aHR0cHM6Ly9ndDQuZ2VldGVzdC5jb20v 本文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 第一个接口逆向参数搜索captcha_id可以找到生成位置,可以看到challenge就是一个uuid继续搜索captcha…