2020ICPC 江西省大学生程序设计竞赛 A Simple Math Problem

本文主要是介绍2020ICPC 江西省大学生程序设计竞赛 A Simple Math Problem,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:

题目链接:

题解:
莫比乌斯反演

推导过程如下

∑ i = 1 n ∑ j = 1 i F [ j ] [ g c d ( i , j ) = 1 ] \sum_{i=1}^{n}\sum_{j=1}^{i} {F[j][gcd(i,j)=1]} i=1nj=1iF[j][gcd(i,j)=1]

可以转化为 ∑ i = 1 n F [ i ] ∑ j = i n g c d [ ( i , j ) = 1 ] \sum_{i=1}^{n}{F[i]} \sum_{j=i}^{n} {gcd[(i,j)=1]} i=1nF[i]j=ingcd[(i,j)=1]

∑ i = 1 n F [ i ] ∑ j = i n g c d [ ( i , j ) = 1 ] \sum_{i=1}^{n}{F[i]} \sum_{j=i}^{n} {gcd[(i,j)=1]} i=1nF[i]j=ingcd[(i,j)=1]

= ∑ i = 1 n F [ i ] ∑ j = i n ∑ d ∣ g c d ( i , j ) μ ( d ) \sum_{i=1}^{n}{F[i]} \sum_{j=i}^{n} \sum_{d|gcd(i,j)}{\mu(d)} i=1nF[i]j=indgcd(i,j)μ(d)

= ∑ d = 1 n μ ( d ) ∑ i = 1 [ n / d ] F [ i ∗ d ] ∑ j = i [ n / d ] 1 \sum_{d=1}^{n}{\mu(d)} \sum_{i=1}^{[n/d]}{F[i*d]} \sum_{j=i}^{[n/d]}{1} d=1nμ(d)i=1[n/d]F[id]j=i[n/d]1

= ∑ d = 1 n μ ( d ) ∑ i = 1 [ n / d ] F [ i ∗ d ] ( n / i − i + 1 ) \sum_{d=1}^{n}{\mu(d)} \sum_{i=1}^{[n/d]}{F[i*d]}(n/i-i+1) d=1nμ(d)i=1[n/d]F[id](n/ii+1)

推导完成

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int st[N],primes[N],mu[N],con,g[N];
void getmus()
{mu[1]=1;for(int i=2;i<=N;i++){if(!st[i]){primes[++con]=i;mu[i]=-1;}for(int j=1;primes[j]*i<=N;j++){int t=primes[j]*i;st[t]=1;if(i%primes[j]==0){break;}mu[t]=-mu[i];}}for(int i=1;i<=N;i++){int n=i;int con=0;while(n){int d=n%10;con+=d;n/=10;}g[i]=con;}
}
int main()
{getmus();int n;cin>>n;long long ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=n/i;j++){ans+=mu[i]*g[j*i]*(n/i-j+1);}}cout<<ans<<endl;return 0;
} 

这篇关于2020ICPC 江西省大学生程序设计竞赛 A Simple Math Problem的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/568702

相关文章

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

C语言程序设计(数据类型、运算符与表达式)

一、C的数据类型 C语言提供的数据类型: 二、常量和变量 2.1常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型: 程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。 2.2变量 变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以 改变的。 变

C语言程序设计(选择结构程序设计)

一、关系运算符和关系表达式 1.1关系运算符及其优先次序 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于 ) ⑤==(等于) ⑥!=(不等于) 说明: 前4个优先级相同,后2个优先级相同,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符 1.2关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符

2024年AMC10美国数学竞赛倒计时两个月:吃透1250道真题和知识点(持续)

根据通知,2024年AMC10美国数学竞赛的报名还有两周,正式比赛还有两个月就要开始了。计划参赛的孩子们要记好时间,认真备考,最后冲刺再提高成绩。 那么如何备考2024年AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1

Q1、昨天分别给出了三个智能工厂的 “面face”(里面inter-face,外面outer-face和表面surface) 以及每个“面face” 各自使用的“方”(StringProcessor,CaseFilter和ModeAdapter)  。今天我们将继续说说三个智能工厂的“方面” 。在展开之前先看一下三个单词:面向facing,取向oriented,朝向toword。理解这三个词 和

2024 年高教社杯全国大学生数学建模竞赛题目——2024 年高教社杯全国大学生数学建模竞赛题目的求解

2024 年高教社杯全国大学生数学建模竞赛题目 (请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”) 2024 年高教社杯全国大学生数学建模竞赛题目 随着城市化进程的加快、机动车的快速普及, 以及人们活动范围的不断扩大,城市道 路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经 济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。 考虑一个拥有知名景区