【51nod】【算法马拉松14】1586 约数和
来源:互联网 发布:苹果手机网络时间校准 编辑:程序博客网 时间:2024/06/04 22:22
传送门:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1586
题面:
有三个下标从
需要进行下列操作:
1
2
Input
第一行两个整数,
接下来
Output
对于每一个第二种操作输出一个答案。
对于每个
那么对于
(可以理解为从
然后就可以使用正常的方法去维护了(本题单点查改,不需要数据结构维护)
于是预处理
维护的方法有两种
第一种:每修改一个
第二种:每查询一个
因为n的约数个数是
于是乎,一般情况下都会选择第二种维护方式(每次查询
这一道题中有个重要条件:
也就是说,
于是这题选择第一种维护方式更优(快了不是一点),有人说这题读入输出优化一个不能少,少一个就T。然后……我就华丽丽地一个都没加……硬是过了这题……(
#include<stdio.h>#define N 1000050#define LL long longLL ans,a[N];int f[N],n,q,c,tot,U;int main(){ scanf("%d%d",&n,&q); for (int i=1;i<=n;i++) for (int j=i;j<=n;j+=i) f[j]++; for (int c;q;q--) { scanf("%d",&c); if (c==1) { scanf("%d%d",&U,&c); for (int i=U,j=1;i<=n;i+=U,j++) a[i]+=c*f[j]; } else { scanf("%d",&c); printf("%I64d\n",a[c]); } }}
- 【51nod】【算法马拉松14】1586 约数和
- 51nod 1586 约数和
- 51nod 1586 约数和
- 51Nod 1586 约数和
- 51Nod-1586-约数和
- 51nod 1586 约数和
- 51nod 算法马拉松12
- 51nod算法马拉松20
- 51Nod 算法马拉松23
- 51Nod 算法马拉松24
- 51nod算法马拉松25
- 51nod 1394 差和问题(算法马拉松8)
- 51nod 算法马拉松 集合计数
- 51nod 算法马拉松11 D 计算
- 51nod 算法马拉松12 逛街(treap)
- [51nod]算法马拉松18 总结
- 51nod算法马拉松18总结
- 51nod 算法马拉松19 A P1674
- WebP是如何工作的(有损模式)
- centos 启用ftp功能
- 2016年6月17号
- Hadoop启动,创建文件hdfs
- A Hierarchical Bayesian Drive-Survival Model of the NFL
- 【51nod】【算法马拉松14】1586 约数和
- Set接口
- 转:KEIL MDK中的RO、RW和ZI DATA
- Multinomial Logistic Regression
- CocoaPods 安装步骤记录----蛋痛史
- ADO.NET之SQLHelper类的简单封装
- 成为php 高手的五个必经之路
- MySQL Workbench 不能删除数据等问题(“Error Code: 1175”) 的解决方法
- 一名菜鸟程序员的自述,为自己点个赞