Code HDU - 5212 容斥

开关变换器分析:大信号模型与小信号模型 是电力电子系统建模中的两类基本方法,分别用于描述系统在不同工作条件下的动态行为。它们的核心区别在于是否对变量进行线性化近似,以及适用的分析场景。 阅读详情

HDU - 5212 

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


WLD likes playing with codes.One day he is writing a function.Howerver,his computer breaks down because the function is too powerful.He is very sad.Can you help him? 

The function: 


int calc 
{ 
   
  int res=0; 
   
  for(int i=1;i<=n;i++) 
     
    for(int j=1;j<=n;j++) 
     
    { 
       
      res+=gcd(a[i],a[j])*(gcd(a[i],a[j])-1); 
       
      res%=10007; 
     
    } 
   
  return res; 

}
Input
There are Multiple Cases.(At MOST  10 10) 

For each case: 

The first line contains an integer  N(1≤N≤10000) N(1≤N≤10000). 

The next line contains  N N integers  a1,a2,...,aN(1≤ai≤10000) a1,a2,...,aN(1≤ai≤10000). 
Output
For each case: 

Print an integer,denoting what the function returns.
Sample Input
5
1 3 4 2 4
Sample Output
64


        
  
Hint
gcd(x,y) means the greatest common divisor of x and y.


/**
 *               ii.                                         ;9ABH,
 *              SA391,                                    .r9GG35&G
 *              &#ii13Gh;                               i3X31i;:,rB1
 *              iMs,:,i5895,                         .5G91:,:;:s1:8A
 *               33::::,,;5G5,                     ,58Si,,:::,sHX;iH1
 *                Sr.,:;rs13BBX35hh11511h5Shhh5S3GAXS:.,,::,,1AG3i,GG
 *                .G51S511sr;;iiiishS8G89Shsrrsh59S;.,,,,,..5A85Si,h8
 *               :SB9s:,............................,,,.,,,SASh53h,1G.
 *            .r18S;..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.1H315199,rX,
 *          ;S89s,..,,,,,,,,,,,,,,,,,,,,,,,....,,.......,,,;r1ShS8,;Xi
 *        i55s:.........,,,,,,,,,,,,,,,,.,,,......,.....,,....r9&5.:X1
 *       59;.....,.     .,,,,,,,,,,,...        .............,..:1;.:&s
 *      s8,..;53S5S3s.   .,,,,,,,.,..      i15S5h1:.........,,,..,,:99
 *      93.:39s:rSGB@A;  ..,,,,.....    .SG3hhh9G&BGi..,,,,,,,,,,,,.,83
 *      G5.G8  9#@@@@@X. .,,,,,,.....  iA9,.S&B###@@Mr...,,,,,,,,..,.;Xh
 *      Gs.X8 S@@@@@@@B:..,,,,,,,,,,. rA1 ,A@@@@@@@@@H:........,,,,,,.iX:
 *     ;9. ,8A#@@@@@@#5,.,,,,,,,,,... 9A. 8@@@@@@@@@@M;    ....,,,,,,,,S8
 *     X3    iS8XAHH8s.,,,,,,,,,,...,..58hH@@@@@@@@@Hs       ...,,,,,,,:Gs
 *    r8,        ,,,...,,,,,,,,,,.....  ,h8XABMMHX3r.          .,,,,,,,.rX:
 *   :9, .    .:,..,:;;;::,.,,,,,..          .,,.               ..,,,,,,.59
 *  .Si      ,:.i8HBMMMMMB&5,....                    .            .,,,,,.sMr
 *  SS       :: h@@@@@@@@@@#; .                     ...  .         ..,,,,iM5
 *  91  .    ;:.,1&@@@@@@MXs.                            .          .,,:,:&S
 *  hS ....  .:;,,,i3MMS1;..,..... .  .     ...                     ..,:,.99
 *  ,8; ..... .,:,..,8Ms:;,,,...                                     .,::.83
 *   s&: ....  .sS553B@@HX3s;,.    .,;13h.                            .:::&1
 *    SXr  .  ...;s3G99XA&X88Shss11155hi.                             ,;:h&,
 *     iH8:  . ..   ,;iiii;,::,,,,,.                                 .;irHA
 *      ,8X5;   .     .......                                       ,;iihS8Gi
 *         1831,                                                 .,;irrrrrs&@
 *           ;5A8r.                                            .:;iiiiirrss1H
 *             :X@H3s.......                                .,:;iii;iiiiirsrh
 *              r#h:;,...,,.. .,,:;;;;;:::,...              .:;;;;;;iiiirrss1
 *             ,M8 ..,....,.....,,::::::,,...         .     .,;;;iiiiiirss11h
 *             8B;.,,,,,,,.,.....          .           ..   .:;;;;iirrsss111h
 *            i@5,:::,,,,,,,,.... .                   . .:::;;;;;irrrss111111
 *            9Bi,:,,,,......                        ..r91;;;;;iirrsss1ss1111
 */
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxx = 1010;
const int mod = 10007;

int gcd(int a,int b)
{
	return !b ? a : gcd(b,a%b); 
}



int a[20000];

int f[20000];
int factor[20000];
int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		memset(factor,0,sizeof(factor));
		int maxn = 0;
		for(int i = 0;i < n;i++)//输入的时候把每个数的因子保存到factor[]; 
		{
			scanf("%d",&a[i]);
			maxn = max(maxn,a[i]);
			for(int j = 1;j*j <= a[i];j++)
			{
				if(!(a[i]%j))
				{
					factor[j]++;
					if((a[i]/j)!=j)
					{
						factor[a[i]/j]++;
					}
				}
			}
		}
		//f[i]为 公因子只是i的数 的对数(aka. cp)("对三,要不起 "的对,不是log)
		// 注意这个 只^ 字  
		//gcd是最大,所以 f[i] = factor[i]*factor[i]后要减去  公因子是i倍数的f[] 
		int ans = 0;
		for(int i = maxn;i >= 1;i--)
		{
			f[i] = factor[i]*factor[i]%mod;
			for(int j = i*2;j <= maxn;j+=i)//因为这个for 用来减 
			{
				f[i] = ((f[i]-f[j]+mod)%mod);
			}
			int now = i*(i-1)%mod;// gcd(a[i],a[j])*(gcd(a[i],a[j])-1)
			ans = ((ans + f[i]*now)%mod);// f[i]*now就是(gcd为i的cp的数量)*(  gcd(a[i],a[j])*(gcd(a[i],a[j])-1)   ) 
			
		}
		printf("%d\n",ans);
		
	 } 





 return 0;
}






VirtualBox虚拟机拖放文件总失败?手把手教你配置双向拖放与共享文件夹(Ubuntu版) 本文详细指导如何在VirtualBox的Ubuntu虚拟机中配置高效的数据交换方案。核心是安装VirtualBox Guest Additions,并在此基础上开启双向拖放与共享粘贴板功能,同时建立稳定的共享文件夹,彻底解决主机与虚拟机间文件传输失败的问题,构建无缝的跨系统工作环境。 阅读详情

相关推荐

OpenCvSharp之利用海康相机采集图像并在pictureBox中显示

OpenCvSharp之利用海康相机采集图像并在pictureBox中显示 说明:OpenCvSharp版本为4.0 海康相机为黑白相机 实现功能:将海康相机采集的图像转成Mat,并在pictureBox中显示。 示例代码: Mat srcImage; private Mat CaptureImage() { int nRet; //MyCamera.MVCC_I...

Kevin_Sun777的博客 5502

【网站汇总】一些OJ平台

目录前言一、HDU孵化器二、HDU OJ三、PTA 前言 以下是一些OJ平台 一、HDU孵化器 链接 :http://hdufhq.cn:8888/ 二、HDU OJ 链接 :http://code.hdu.edu.cn/examlist.php 三、PTA 链接 :https://pintia.cn/

Fanf_f备忘录 3644

Qt+WebAssembly学习笔记(六)win10+Qt6.4.0rc1开发环境搭建

前言:因项目的缘故,笔者有段时间没测试了,官方也修复了很问题,笔者今天记录下最新版本环境搭建。

aggs1990的专栏 3766

hdu 5212(莫比乌斯反演)

Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Description WLD likes playing with codes.One day he is writing a function.Howerver,his compute

hexianhao的博客 450

Langchain与Milvus集成中的pymilvus.exceptions.MilvusException: channel not found错误解析

本文深入解析了在Langchain与Milvus集成时常见的pymilvus.exceptions.MilvusException: channel not found错误。该错误通常由客户端配置错误、网络问题、服务端状态异常或版本不兼容导致。文章提供了从基础连通性测试到高级网络排查的完整故障排除指南,并针对本地Docker、远程服务器及Kubernetes等典型部署场景给出了具体解决方案,帮助开发者快速定位并修复这一连接层问题。

weixin_29229989的博客 217

UE5深度图与Mask图渲染实战:从基础到高级应用

本文详细解析了在UE5中渲染深度图与Mask图的完整实战流程。从启用电影渲染队列、配置自定义深度模板通道等前期准备,到构建即用型深度图材质网络与精准物体Mask生成,并深入探讨了二者结合在NPR风格化、程序化雾气及AI工作流(如ComfyUI)中的高级应用,为影视、游戏后期与AI创作提供了高效的解决方案。

weixin_29001419的博客 349

HDU 5212 Code【莫比乌斯反演】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5212 题意: 给定序列,1≤i,j≤n,求gcd(a[i],a[j])∗(gcd(a[i],a[j])−1)之和。 分析: 同样我们设 f(d):满足gcd(x,y)=d且x,y均在给定范围内的(x,y)的对数。 F(d):满足d|gcd(x,y)且...

An55511的博客 279

激光定位算法竞技场:hdl_localization与Cartographer/AMCL的横向技术解剖

本文深入对比了hdl_localization、Cartographer和AMCL三种激光定位算法的技术原理与性能表现。通过UKF-NDT融合、图优化和粒子滤波等核心技术,分析了各算法在结构化环境、动态环境和大尺度场景下的适应性。实验数据表明,Cartographer在全局一致性上表现最优,而AMCL在动态环境中更具鲁棒性。文章还提供了算法选型指南和参数调优技巧,为工程实践提供参考。

weixin_29062865的博客 367

HDU--5212Code--容斥原理+算贡献

Code Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1452Accepted Submission(s): 605 Problem Description WLD likes pl...

lanshan1111的博客 203

告别SquareLine!用免费的NXP GUI-Guider为海思3516AV300开发LVGL界面(附完整移植流程)

本文详细介绍了如何利用免费的NXP GUI-Guider工具为海思Hi3516AV300开发LVGL界面,包括环境配置、代码移植和性能优化等全流程实战指南。特别针对二维码组件缺失等常见问题提供解决方案,帮助开发者零成本构建高效嵌入式GUI系统。

weixin_28292761的博客 416

15 媒体存储的封装3

CMediaDisk类真正实现了录像文件的存储、查询和点播。存储录像文件时,需要满足以下的几个基本需求:1、异常断电不能丢失数据。2、录像既支持普通文件的查询方式,也支持时间轴的查询方式。3、修改设备时间时,不能够丢失已有录像和数据。向后修改时间时,如果当前时间已有录像,则不覆盖老数据;直到有未录像的时间段时,才再次写入新数据。4、支持删除媒体文件,也支持按时间段删除。5、支持标记录像文件、抓拍文件,也支持按时间段标记。6、支持自动覆盖最老的文件。7、支持多个设备、多路视频的录像存储。

hope_wisdom的技术博客 1123

HDU 1545(01-K Code)

动态规划题,设 dp[i][j][k] 表示长为 i 的子序列中,0 比 1 最多多 j 个,1 比 0 最多多 k 个。 如果第 i+1 位填0,则 dp[i + 1][j + 1][max(k - 1, 0)] += dp[i][j][k]; 如果第 i+1 位填1,则 dp[i + 1][max(j - 1, 0)][k + 1] += dp[i][j][k]。 #include <iostream> #include <cstring> #include <al

Intelligence1028的博客 388

Android 15.0 系统开机屏幕设置默认横屏显示

在15.0的系统ROM产品定制化开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从 两部分来实现,一部分是系统开机动画横屏显示,另一部分是系统屏幕显示横屏显示,从这两方面就可以做到开机默认横屏显示了

安卓兼职framework和app工程师的博客 719

HDU 5212 Code GCD容斥(套路).

DU 5212 题意:给出长度为n的序列a,求定义f(i,j)为gcd(a[i],a[j])*(gcd(a[i],a[j])-1). 求f(i,j)的累加和[i=1..n,j=1...n] 答案模mod. n,a[i] 直接遍历序列显然是TLE的.a[i] 当x作为gcd 算出x的倍数有num个 则任选两个方案为num^2 .其中重复为gcd=2x,3x..kx产生的贡献 用d

noone0的博客 329

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

hdu 5212 code 容斥~或者莫比乌斯

Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 489    Accepted Submission(s): 191 Problem Description WLD likes playing with

G.D.Retop的专栏 714

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HDU 5212 - Code

和 CodeForces 839D - Winter is here可以说是一模一样了 /* HDU 5212 - Code [ 容斥 ] 题意: 求 ∑ [1<=i,j<=n] gcd(a[i], a[j]) * (gcd(a[i], a[j])-1) 分析: 改用权值数组num[i] 记录 i 的倍数的个数, sum[i] 为 gcd(a,b) >= i...

weixin_33722405的博客 127

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

HDU 5212

来自我的新博客HDU 5212Description:      ~~~~~~ 给定一个数列{aN}\{a_N\} ,然后求 Ans=∑i=1N∑j=1Ngcd(ai,aj)∗(gcd(ai,aj)−1) Mod 10007  (1<=ai,N<=10000)Ans=\sum_{i=1}^{N}\sum_{j=1}^{N}gcd(a_i,a_j)*(gcd(a_i,a_j)-1)~Mod~100

zzj的专栏 711

Code HDU - 5212[Mobius]

Code HDU - 5212  题意: 给定长为n的数组A, a[i]&lt;=1e4      思路:有如下定义 f(n)为gcd==n的对数 F(n)为gcd是n倍数的对数   Accepted 5212 124MS 1624K 1483B G++ #include&lt;bits/stdc++.h&gt; using namesp...

Haipai1998的博客 336

hdu5212Code 容斥原理

//给一个数列a求segma(gcd(ai , aj)*(gcd(ai,aj) - 1)) //运用容斥原理,对于以x为倍数的数的个数为k //那么以k为最大公约数的个数为f[x] = k^2 - f[2*x] - f[3*x] ..... #include #include #include using namespace std ; const int mod = 10007 ;

ijbuhv的专栏 692

hdu 5212 Code

题目链接分析:这道题可以尝试容斥原理或者莫比乌斯反演,其实本质上是一样的。处理一下每个素数在给定的条件中有多少个倍数,然后容斥原理或者莫比乌斯反演统计一下gcd(x,y)=tgcd(x, y) = t的(x,y)(x, y)的对数,最后统计一下答案,取模。代码:/*****************************************************/ //#pragma comm

萌の上揺れ 359

hdoj 5212 Code 【数学+思维】

题目链接:hdoj 5212 Code Code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 677 Accepted Submission(s): 262 Problem Description WLD likes

世界很大 549

HDU 5212 Code(莫比乌斯反演)

Code WLD likes playing with codes.One day he is writing a function.Howerver,his computer breaks down because the function is too powerful.He is very sad.Can you help him? The function: int calc { int ...

Tan_JX 182

Code HDU 5212(容斥原理)

Code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 202 Accepted Submission(s): 81 Problem Description WLD likes playing with codes.One d

qwesde 855

HDU5212 Code

题意:输出那个程序的结果 这题其实就是求任意一个数与每一个数的gcd×(gcd-1),然后全部加起来。。 把每个数值对应的个数记下来,然后从最大的数开始,找这个数的倍数,如果gcd是x那个构成这个gcd的两个数一定都是x的倍数,如果有k个数是x的倍数,那么这k个数任意组合就可以形成k*k中情况,这写数中也有可能存在gcd是2×想,3×x的,所以要减去形成gcd是2*x,3*x的情况,从大到小就

eeeaaaaa的专栏 495

HDU 5212 Code

题解: 1.算是一种动态规划吧,d1[i]代表i的所有倍数的个数(包括自己),d2[i]代表以i为公约数的数对的个数 2.d2[i] = d1[i] ^ 2 - d2[2 * i] - d2[3 * i] - d2[4 * i]……….. 3.因为i的倍数构成的所有gcd值,要不就是i,要不就是i的倍数 总结: 1.对于WA3次就第二天再做这道题没有坚持太好,争取下次努力 2.一旦WA掉

c337134154的专栏 635
上一篇: Remember The Feeling 2017-09-27 21:15
touch_er
博客等级 码龄11年 3粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值