软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 编程语言 -> HDU5656CALovesGCD(BC) -> 正文阅读
编程语言 最新文章
Java面试题(1)
ReactiveX序列——RxSwift
C++STL之ACM相关知识大全
c++中vector向量几种情况的总结(向量指针,
SSH框架整合demo
JAX
UVA
curl备忘(1)
C#机房重构——万事开头难(二)
OJ刷题

[编程语言]HDU5656CALovesGCD(BC)

  2016-04-03 20:45:10

CA Loves GCD


Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)

Total Submission(s): 19    Accepted Submission(s): 7
Problem Description
CA is a fine comrade who loves the party and people; inevitably she loves GCD (greatest common divisor) too.
Now, there are N
different numbers. Each time, CA will select several numbers (at least one), and find the GCD of these numbers. In order to have fun, CA will try every selection. After that, she wants to know the sum of all GCDs.
If and only if there is a number exists in a selection, but does not exist in another one, we think these two selections are different from each other.
 


Input
First line contains T
denoting the number of testcases.
T
testcases follow. Each testcase contains a integer in the first time, denoting N
, the number of the numbers CA have. The second line is N
numbers.
We guarantee that all numbers in the test are in the range [1,1000].
1T50

 


Output
T
lines, each line prints the sum of GCDs mod 100000007
.
 


Sample Input

2 2 2 4 3 1 2 3

 


Sample Output

8 10

 


Source
BestCoder Round #78 (div.2) 


题意:给一个集合,求所有子集的最大公约数之和。
分析:暴力方法;枚举所有可能gcd数,出现一次就加1。


<span style="font-size:18px;">#include <iostream>
#include <cstdio>
#include <cstring>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
const double eps = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int MOD = 100000007;
#define ll long long
#define CL(a,b) memset(a,b,sizeof(a))
#define lson (i<<1)
#define rson ((i<<1)|1)
#define MAXN 100010

int main()
{
    int T,n;
    int a[1010];
    ll vis[2010];
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        CL(vis, 0);
        for(int i=1; i<=n; i++)
        {
            scanf("%d",&a[i]);
        }
        ll ans = 0;
        for(int i=1; i<=n; i++)
        {
            for(int j=1; j<=1000; j++)///j为最大公约数
            {
                if(vis[j])
                {
                    int t = __gcd(a[i], j);
                    vis[t]=(vis[t]+vis[j])%MOD;
                    //cout<<vis[__gcd(a[i], j)]<<" ";
                }
            }
            vis[a[i]]++;
        }
        for(int i=1; i<=1000; i++)
            ans = (ans+vis[i]*i%MOD)%MOD;
        printf("%lld\n",ans);
    }
    return 0;
}
</span>


上一篇文章      下一篇文章      查看所有文章
2016-04-03 20:43:25  
360图书馆 论文大全 母婴/育儿 软件开发资料 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture
生肖星座解梦 人民的名义 人民的名义在线看 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图
中国文化英文 多播视频 装修知识库
2017-4-26 18:00:52
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --