2018-2019 ACM-ICPC, Asia Dhaka Regional Contest C.Divisors of the Divisors of An Integer (数论)

- 题意:求\(n!\)的每个因子的因子数. 
- 题解:我们可以对\(n!\)进行质因数分解,这里可以直接用推论快速求出:https://5ab-juruo.blog.luogu.org/solution-p2043, 所以我们可以得到\(n!=p^{k1}_1*p^{k_2}_2*...*p^{k_n}_n\),然后根据约数定理,它的任意一个因子可以表示为\(n!=p^{a1}_1*p^{a_2}_2*...*p^{a_n}_n\ (0\le a_i\le k_i)\),我们将某一个质数\(p^{a_i}_i\)单独拿出来分析,\(a_i\)可以选的值有\(0,1,2,...,k_i\),所以\(p^{a_i}_i\)的因子\(p^{b_i}_i\)中的\(b_i\)可以选的值有\((0),(0,1),(0,1,2),...,(0,1,...,k_i)\),那么我们用等差数列求和即可得出\(p^{a_i}_i\)的因子数贡献为\(\frac{(k_i+1)*(k_i+2)}{2}\),那么我们就可以得出答案为\(\prod^{n}_{i=1}(\frac{(k_i+1)*(k_i+2)}{2})\). 
- 代码: - int n;
 int prime[N],cnt;
 bool st[N]; void get_prime(){
 for(int i=2;i<=1e6+10;++i){
 if(!st[i]) prime[cnt++]=i;
 for(int j=0;j<cnt && prime[j]<=(1e6+10)/i;++j){
 st[i*prime[j]]=true;
 if(i%prime[j]==0) break;
 }
 }
 } int divide(int p,int x){
 int res=0;
 while(p){
 res+=p/x;
 p/=x;
 }
 return res;
 } signed main() {
 ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
 get_prime();
 while(cin>>n){
 if(n==0) break;
 int ans=1;
 for(int i=0;i<cnt && prime[i]<=n;++i){
 int cur=divide(n,prime[i]);
 ans=ans%mod*((cur+1)*(cur+2)/2)%mod;
 }
 cout<<ans<<'\n';
 } return 0;
 }
 
2018-2019 ACM-ICPC, Asia Dhaka Regional Contest C.Divisors of the Divisors of An Integer (数论)的更多相关文章
- ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków
		ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków Problem A: Rubik’s Rect ... 
- 2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)
		2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred) easy: ACE ... 
- 2018-2019 ACM-ICPC, Asia Dhaka Regional Contest
		目录 Contest Info Solutions B. Counting Inversion C. Divisors of the Divisors of An Integer E. Helping ... 
- 2018-2019, ICPC, Asia Yokohama Regional Contest 2018 K
		传送门:https://codeforces.com/gym/102082/attachments 题解: 代码: /** * ┏┓ ┏┓ * ┏┛┗━━━━━━━┛┗━━━┓ * ┃ ┃ * ┃ ━ ... 
- 2018 ICPC Asia Jakarta Regional Contest
		题目传送门 题号 A B C D E F G H I J K L 状态 Ο . . Ο . . Ø Ø Ø Ø . Ο Ο:当场 Ø:已补 . : 待补 A. Edit Distance Thin ... 
- Gym - 101981K The 2018 ICPC Asia Nanjing Regional Contest K.Kangaroo Puzzle 暴力或随机
		题面 题意:给你1个20*20的格子图,有的是障碍有的是怪,你可以每次指定上下左右的方向,然后所有怪都会向那个方向走, 如果2个怪撞上了,就融合在一起,让你给不超过5w步,让所有怪都融合 题解:我们可 ... 
- Gym - 101981M The 2018 ICPC Asia Nanjing Regional Contest M.Mediocre String Problem Manacher+扩增KMP
		题面 题意:给你2个串(长度1e6),在第一个串里找“s1s2s3”,第二个串里找“s4”,拼接后,是一个回文串,求方案数 题解:知道s1和s4回文,s2和s3回文,所以我们枚举s1的右端点,s1的长 ... 
- Gym - 101981G The 2018 ICPC Asia Nanjing Regional Contest G.Pyramid 找规律
		题面 题意:数一个n阶三角形中,有多少个全等三角形,n<=1e9 题解:拿到题想找规律,手画开始一直数漏....,最后还是打了个表 (打表就是随便定个点为(0,0),然后(2,0),(4,0), ... 
- Gym - 101981I The 2018 ICPC Asia Nanjing Regional Contest I.Magic Potion 最大流
		题面 题意:n个英雄,m个怪兽,第i个英雄可以打第i个集合里的一个怪兽,一个怪兽可以在多个集合里,有k瓶药水,每个英雄最多喝一次,可以多打一只怪兽,求最多打多少只 n,m,k<=500 题解:显 ... 
- Gym - 101981D The 2018 ICPC Asia Nanjing Regional Contest D.Country Meow 最小球覆盖
		题面 题意:给你100个三维空间里的点,让你求一个点,使得他到所有点距离最大的值最小,也就是让你找一个最小的球覆盖掉这n个点 题解:红书模板题,这题也因为数据小,精度也不高,所以也可以用随机算法,模拟 ... 
随机推荐
- .NET斗鱼直播弹幕客户端(2021)
			.NET斗鱼直播弹幕客户端(2021) 离之前更新的两篇<.NET斗鱼直播弹幕客户端>已经有一段时间,近期有许多客户向我反馈刚好有这方面的需求,但之前的代码不能用了--但网上许多流传的No ... 
- ubuntu 安装 docker 并配置镜像加速(使用 apt-get 进行安装)
			ubuntu 安装docker CentOS docker安装 https://blog.csdn.net/weixin_44953227/article/details/108597310 你需要这 ... 
- 通过show profile分析sql语句
			set profling=1; select count(*) from xuehao; show profiles; show profile for query 1; mysql> set ... 
- 如何用Python中自带的Pandas和NumPy库进行数据清洗
			一.概况 1.数据清洗到底是在清洗些什么? 通常来说,你所获取到的原始数据不能直接用来分析,因为它们会有各种各样的问题,如包含无效信息,列名不规范.格式不一致,存在重复值,缺失值,异常值等..... ... 
- jmeter-并发及常数吞吐量定时器设定
- Crypto.getRandomValues()
			Crypto.getRandomValues() - Web APIs | MDN https://developer.mozilla.org/en-US/docs/Web/API/Crypto/ge ... 
- 你可能会问,为什么不直接进入 CLOSED 状态,而要停留在 TIME_WAIT 这个状态?
			你可能会问,为什么不直接进入 CLOSED 状态,而要停留在 TIME_WAIT 这个状态? 划重点,2MSL 的时间是从主机 1 接收到 FIN 后发送 ACK 开始计时的:如果在 TIME_WAI ... 
- By default, the connection will be closed if the proxied server does not transmit any data within 60 seconds.
			WebSocket proxying https://nginx.org/en/docs/http/websocket.html By default, the connection will be ... 
- 长连接 短连接 RST报文
			https://baike.baidu.com/item/短连接 短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数 ... 
- JavaScript基础知识-基本概念
			typeof操作符 typeof 操作符返回一个字符串,表示未经计算的操作数的类型. // 数值 typeof 37 === 'number'; typeof 3.14 === 'number'; t ... 
