Divide Sum

Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others)
SubmitStatus

Problem Description

long long ans = 0;
for(int i = 1; i <= n; i ++)
    for(int j = 1; j <= n; j ++)
        ans += a[i] / a[j];
给出n,a[1]...a[n],求ans

Input

不超过5组数据,每组数据:

第一行n(1 <= n <= 10^5)

第二行n个数,a[1].. a[n] (1 <= a[i] <= 10^5)

Output

每组数据一行,ans

Sample Input

5
1 2 3 4 5

Sample Output

27

如此做法复杂度为:
O(nlogn)=n/1+n/2+n/3+n/4+n/5+n/6+n/7+…………+n/n;
 #include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
int a[],b[];
long long ans,ans1;
int main()
{
int n,i,x,j,maxa;
while(~scanf("%d",&n))
{
memset(a,,sizeof(a));
maxa=;
for(i=;i<n;i++)scanf("%d",&x),a[x]++,maxa=maxa>x?maxa:x;
b[]=;
for(i=;i<=maxa;i++)
b[i]=b[i-]+a[i];
ans=;
for(i=;i<=maxa;i++)
{
if(a[i])
{
ans1=;
for(j=i-;j<=maxa;j+=i)
{
ans1+=n-b[j];
}
ans+=ans1*a[i];
}
}
printf("%lld\n",ans);
}
}

Divide Sum 比赛时竟然想不出。。。。。。。的更多相关文章

  1. [改善Java代码]覆写equals方法时不要识别不出自己

    建议45: 覆写equals方法时不要识别不出自己 我们在写一个JavaBean时,经常会覆写equals方法,其目的是根据业务规则判断两个对象是否相等,比如我们写一个Person类,然后根据姓名判断 ...

  2. acdream Divide Sum

    Divide Sum Time Limit: 2000/1000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) SubmitSta ...

  3. php网页,想弹出对话框, 消息框 简单代码

    php网页,想弹出对话框, 消息框 简单代码 <?php echo "<script language=\"JavaScript\">alert(\&q ...

  4. Example008关闭IE窗口时,不弹出询问对话框

    <!-- 实例008关闭IE主窗口时,不弹出询问对话框 --> <meta charset="UTF-8"> <a href="#" ...

  5. 在使用EF时,想要比较字符串类型的日期时

    原文地址(https://blog.csdn.net/yangxinyue315/article/details/44960895) 在使用EF时,想要比较字符串类型的日期时 在使用EF时,想要比较字 ...

  6. 要想找出以“y”结尾的名字

    要想找出以“y”结尾的名字:mysql> SELECT * FROM pet WHERE name LIKE '%y'“_”:匹配任何单个字符“%”:匹配任意数目字符(包括零字符)

  7. 要想找出包含“w”的名字

    要想找出包含“w”的名字:mysql> SELECT * FROM pet WHERE name LIKE '%w%'“_”:匹配任何单个字符“%”:匹配任意数目字符(包括零字符)

  8. JS优先队列排序。出队时,先找出优先级最高的元素,再按照先进先出出队。

    JS优先队列排序.出队时,先找出优先级最高的元素,再按照先进先出出队. /* * 优先队列 * 出队时,先找出优先级最高的元素,再按照先进先出出队. * */ function Queue(){ th ...

  9. T51071 Tony到死都想不出の数学题

    T51071 Tony到死都想不出の数学题 自己摘的题出了数据挂一下链接 \(a, b\) 均为整数 设 \(M(a)\) 为满足 \((a + b) | ab\) 的 \(b\) 的个数, 求 \( ...

随机推荐

  1. Dapper获取连接类

    using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...

  2. CVTE前端笔试编程题

    这些题目是做完笔试之后,在别的地方找到的,现在附上. 1.(1)这题考察的怎么把参数转换为数组,然后再截取你想要的位数. function C(){ var a_args=Array.prototyp ...

  3. pycharm远程linux开发和调试代码

    pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行 ...

  4. Mycat 设置全局序列号

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt332 全局序列号介绍 在实现分库分表的情况下,数据库自增主键已无法保证自增主 ...

  5. fetch的使用说明

    1.RN官方文档中,可使用XMLHttpRequest var request = new XMLHttpRequest(); request.onreadystatechange = (e) =&g ...

  6. 关于hashmap的理解

    首先分析第一个比较重要的方法 put 方法,源码如下 public V put(K key, V value) { if (key == null) return putForNullKey(valu ...

  7. MPLS LDP随堂笔记2

    前一天排错 Acl 1 匹配所有ospf的数据包 (目的 ospf建立邻居关系 传递路由条目) 2 放行UDP报文 让LDP邻居能互相收发HELLO包 4 放行TCP报文 让LDP邻居能够建立TCP会 ...

  8. 201521123083《Java程序设计》第四周学习总结

    [toc] 1. 本周学习总结 尝试使用思维导图总结有关继承的知识点. 2. 书面作业 1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 在这里 ...

  9. 201521123011《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. XMind 2. 书面作业 1.clone方法 1.1 O ...

  10. phpcms总结(转)

    转自:http://www.cnblogs.com/zuzwn/p/3649536.html文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – config ...