博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5211 Mutiple 水题
阅读量:4329 次
发布时间:2019-06-06

本文共 1389 字,大约阅读时间需要 4 分钟。

题目链接:

题解:

1、筛法:

1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 8 const int maxn=10000+10; 9 const int INF=0x3f3f3f3f;10 11 int n;12 int a[maxn],mmp[maxn];13 vector
mat[maxn];14 15 void init(){16 for(int i=0;i
i){34 minm=min(minm,mmp[j*a[i]]);35 } 36 }37 if(minm==INF) minm=0;38 ans+=minm;39 }40 printf("%d\n",ans);41 }42 return 0;43 }

2、倒着扫回来,不断刷新约数的值

1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 8 const int maxn=10000+10; 9 const int INF=0x3f3f3f3f;10 11 int n;12 int a[maxn],mmp[maxn];13 14 void init(){15 memset(mmp,0,sizeof(mmp));16 }17 18 int main(){19 while(scanf("%d",&n)==1&&n){20 init();21 for(int i=1;i<=n;i++) scanf("%d",a+i);22 int ans=0;23 for(int i=n;i>=1;i--){24 ans+=mmp[a[i]];25 for(int j=1;j*j<=a[i];j++){26 if(a[i]%j==0){27 mmp[j]=i;28 mmp[a[i]/j]=i;29 }30 }31 }32 printf("%d\n",ans);33 }34 return 0;35 }

 

转载于:https://www.cnblogs.com/fenice/p/5397216.html

你可能感兴趣的文章
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Ubuntu菜鸟入门(五)—— 一些编程相关工具
查看>>
valgrind检测linux程序内存泄露
查看>>
Hadoop以及组件介绍
查看>>
1020 Tree Traversals (25)(25 point(s))
查看>>
第一次作业
查看>>
“==”运算符与equals()
查看>>
单工、半双工和全双工的定义
查看>>
Hdu【线段树】基础题.cpp
查看>>
时钟系统
查看>>
BiTree
查看>>
5个基于HTML5的加载动画推荐
查看>>
水平权限漏洞的修复方案
查看>>
静态链接与动态链接的区别
查看>>
Android 关于悬浮窗权限的问题
查看>>
如何使用mysql
查看>>
linux下wc命令详解
查看>>