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

2024jxcpc D.Magic LCM (logn筛质因子)

题目链接

#include<bits/stdc++.h>
using namespace std;
#define int long long 
using ll=long long;
typedef pair<int,int>PII;
typedef priority_queue<int> upq;
typedef priority_queue<int,vector<int>,greater<int>> dpq;
const int M=998244353;
const int N=1e6+20;  // 只要处理(1e6)的质因子 // 样例:
/*51 4 5 2 1034       */
bool prime[N];
int mi[N];			//筛出i的最小质因子 
void getprime(){for(int i=2;i<N;i++){if(prime[i]) continue;for(int j=i*2;j<N;j+=i){prime[j]=1;if(mi[j]==0)mi[j]=i;}mi[i]=i;}mi[1]=1;
}int cnt[N][21]; 
int mx[N+1]; // 质数i最大出现次数
void solved()
{int n; cin>>n;vector<int>v(n);for(int i=0;i<n;i++) cin>>v[i];ll ans=0;vector<int>stk;for(int i=0;i<n;i++){while(v[i]>1){int p=mi[v[i]];int tt=0;while(mi[v[i]]==p){v[i]/=p;tt++;}if(mx[p]==0) stk.push_back(p); mx[p]=max(mx[p],tt);cnt[p][tt]++;           //为p的质数tt次幂出现的次数}}vector<ll>a(n,1);for(auto p:stk){int j=0; // 含有质数p的个数for(int i=mx[p];i>0;i--) j+=cnt[p][i];ll pw=1;for(int i=1;i<=mx[p];i++){pw*=p;pw%=M;while(cnt[p][i]){cnt[p][i]--;a[--j]*=pw;  		//大的放a[0]; a[j]%=M;}}mx[p]=0;}for(auto i:a) ans=(ans+i)%M;cout<<ans<<"\n";}
signed main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);getprime();int t; cin>>t;while(t--) solved();
}

http://www.xdnf.cn/news/3008.html

相关文章:

  • 百度CarLife实现手机车机无缝互联
  • BT134-ASEMI机器人功率器件专用BT134
  • 告别碎片化!两大先进分块技术如何提升RAG的语义连贯性?
  • 【系统参数合法性校验】spring-boot-starter-validation
  • PowerBI更新后出现提示,无法正常使用,解决办法
  • JavaScript == 和 ===区别,分别在什么情况使用?
  • 角度(degrees)和弧度(radians)转换关系
  • Oracle OCP证书有效期是三年?
  • 5 个开源 MCP 服务器
  • 【MongoDB篇】MongoDB的集合操作!
  • 【angular19】入门基础教程(四):默认的css隔离作用域
  • 基于Java,SpringBoot,HTML水文水质监测预警系统设计
  • 【最新 MCP 战神手册 08】工具使用详解:实现 AI 行动
  • 动态图表 -- eg1
  • Femap许可分配和监控
  • 4月29日星期二今日早报简报微语报早读
  • 优化PCB Via Stub系列(1):一次学会利用层叠设计降低Via Stub损耗
  • 使用 Ziegler-Nichols 法进行 PID 参数整定:实践指南
  • [计算机网络]物理层
  • 力扣-数据结构-二叉树
  • 3D可视化编辑器模版
  • AimRT 从零到一:官方示例精讲 —— 四、logger示例.md
  • 信创产业贡献︱悬镜安全深度参编《2024网信自主创新调研报告》
  • 监控易一体化运维:解锁业务系统管理,助力企业运维升级
  • SOLIDWORKS广东东莞地区代理商哪个服务好?都有哪些代理商?
  • docker 部署前、后端分离项目详细步骤(从打包到部署)
  • 嵌入式学习笔记 - 关于STM32 SPI控制器读取以及写入时,标志位TXE, RXNE的变化
  • 文献阅读(二)植被恢复力变化对不同干旱类型的空间异质性|《Earth‘s Future》
  • 第八章 磁盘管理未完待续
  • 关闭正点原子atk-qtapp-start.service