题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=5211

题解:

1、筛法:

  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. #include<algorithm>
  5. #include<vector>
  6. using namespace std;
  7.  
  8. const int maxn=+;
  9. const int INF=0x3f3f3f3f;
  10.  
  11. int n;
  12. int a[maxn],mmp[maxn];
  13. vector<int> mat[maxn];
  14.  
  15. void init(){
  16. for(int i=;i<maxn;i++) mat[i].clear();
  17. memset(mmp,-,sizeof(mmp));
  18. }
  19.  
  20. int main(){
  21. while(scanf("%d",&n)==&&n){
  22. init();
  23. int maxa=-;
  24. for(int i=;i<=n;i++){
  25. scanf("%d",a+i);
  26. maxa=max(maxa,a[i]);
  27. mmp[a[i]]=i;
  28. }
  29. int ans=;
  30. for(int i=;i<=n;i++){
  31. int minm=INF;
  32. for(int j=;j*a[i]<=maxa;j++){
  33. if(mmp[j*a[i]]!=-&&mmp[j*a[i]]>i){
  34. minm=min(minm,mmp[j*a[i]]);
  35. }
  36. }
  37. if(minm==INF) minm=;
  38. ans+=minm;
  39. }
  40. printf("%d\n",ans);
  41. }
  42. return ;
  43. }

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

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

HDU 5211 Mutiple 水题的更多相关文章

  1. hdu 5210 delete 水题

    Delete Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5210 D ...

  2. hdu 1251 (Trie水题)

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  3. hdu 5211 Mutiple 数学

    Mutiple Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5211 ...

  4. HDU 5703 Desert 水题 找规律

    已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...

  5. HDU 4493 Tutor 水题的收获。。

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=4493 题意我都不好意思说,就是求12个数的平均数... 但是之所以发博客,显然有值得发的... 这个题最 ...

  6. hdu 4802 GPA 水题

    GPA Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4802 Des ...

  7. hdu.5211.Mutiple(数学推导 && 在logn的时间内求一个数的所有因子)

    Mutiple  Accepts: 476  Submissions: 1025  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: 6553 ...

  8. hdu 4493 Tutor 水题

    Tutor Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4493 D ...

  9. hdu 5495 LCS 水题

    LCS Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5495 Descr ...

随机推荐

  1. VUE 跳转另一页面返回之前页面刷新,但数据依然存在

    在第一个页面填写数据后存入本地缓存: 再次跳转回来时判断是否填入数据,如果有数据,将缓存数据填写上.

  2. 移植ARM linux下远程连接工具dropbear

    移植ARM linux下远程连接工具dropbear 原文地址:http://www.cnblogs.com/NickQ/p/9010529.html 移植zlib 下载地址:https://gith ...

  3. elasticsearch_dsl 的nested

    在工作中会碰到这样的一个需求,mapping中定义的类型是nested { "judgement":{ "mappings":{ "content&q ...

  4. Python学习——编程语言介绍

    开发语言 高级语言:基于C/汇编等封装的语言,如Python.Java.C#.PHP.Go.ruby.C++……生成字节码让C/汇编去识别 低级语言:直接让计算机底层能识别成机器码的语言(计算机再将机 ...

  5. Linux入门进阶第二天——软件安装管理(上)

    一.大纲介绍 这里介绍的仅仅是两大家族之一的RPM,关于Debian家族的DPKG,请参考:http://justcoding.iteye.com/blog/1937171 二.简介 软件包分类: 源 ...

  6. 20155203 实验四《 Android程序设计》实验报告

    一.实验内容 实验项目一:Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十 ...

  7. # 学号20155308 2006-2007-2 《Java程序设计》第4周学习总结

    学号20155308 2006-2007-2 <Java程序设计>第4周学习总结 教材学习内容总结 6.1 何谓继承 继承基本上就是避免多个类间重复定义共同行为. 许多类之间具有相同的属性 ...

  8. tomcat如何禁止显示目录和文件列表

    打开   tomcat的安装目录/conf/web.xml   文件 找到: <servlet> <servlet-name>default</servlet-name& ...

  9. 【转载】从零实现3D图像引擎:(1)环境配置与项目框架

    原文:从零实现3D图像引擎:(1)环境配置与项目框架 0. 要学懂3D程序设计,必然要精通3D相关的线性代数.3D几何.复分析等相关知识,我也因为如此才开始这个博客系列的写作,不自己实现,就不是自己的 ...

  10. day 12 列表字典 补充

    1.列表list的遍历 ##### while遍历 需要len(list) list = [11,22,33,44,55] len_list = len(list) i = 0 while i< ...