ACM
ClStoner
逆水行舟,不进则退
展开
-
约数个数与约数和公式
约数个数: d(n)d(n)d(n)表示相关公式:d(ij)=∑x∣i∑y∣j[gcd(x,y)=1]d(ij)=\sum_{x\mid i}\sum_{y\mid j}[gcd(x,y)=1]d(ij)=∑x∣i∑y∣j[gcd(x,y)=1] 约数和: σ(n)\sigma(n)σ(n)表示相关公式:σ(ij)=∑x∣i∑y∣jx∗jy[gcd()x,y]=1\sigm...原创 2020-04-08 17:02:26 · 1810 阅读 · 0 评论 -
51Nod1188最大公约数之和 V2
题目链接题意: 给出一个数N,输出小于等于N的所有数,两两之间的最大公约数之和。即计算G=∑i=1i<n∑j=i+1j<=iGCD(i,j)G=\sum_{i=1}^{i<n}\sum_{j=i+1}^{j<=i}GCD(i,j)G=∑i=1i<n∑j=i+1j<=iGCD(i,j)输入:第1行:1个数T,表示后面用作输入测试的数的数量。(1 ...原创 2020-04-08 09:50:28 · 166 阅读 · 0 评论 -
莫比乌斯反演--BZOJ1011
题目链接题解:∑i=1n∑j=1m[gcd(i,j)=d]\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=d]∑i=1n∑j=1m[gcd(i,j)=d]=∑i=1⌊nd⌋∑j=1⌊md⌋[gcd(i,j)=1]=\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloo...原创 2020-03-28 22:46:50 · 137 阅读 · 0 评论 -
数论基础知识(进阶篇)
这是我在ACM竞赛中学习数论时整理的一些基础的知识点,这篇博客主要讨论数论中出现的一些数论函数和相关的一些算法。如果在理解上有所困难,请看数论基础知识(基础篇)...原创 2020-03-23 10:39:09 · 599 阅读 · 0 评论 -
证明:当gcd(a,b)=1,gcd(a,a-b)=1
证明1:当gcd(a,b)=1,时gcd(a,a−b)=1gcd(a,b)=1,时gcd(a,a-b)=1gcd(a,b)=1,时gcd(a,a−b)=1反证法证明:假设gcd(a,b)≠1,则令d=gcd(a,a−b)>1gcd(a,b)\neq1,则令d=gcd(a,a-b)>1gcd(a,b)=1,则令d=gcd(a,a−b)>1根据最大公约数的性质,d∣a且d∣...原创 2020-03-19 15:04:57 · 1746 阅读 · 2 评论 -
数论基础知识点整理(基础篇)
我篇文章是我在ACM竞赛中学习数论时整理的一些基础的知识点,主要讨论对象是正整数,写的不太专业,有错误的地方还请多批评指正!素数及其判定素数:...原创 2020-03-19 12:31:02 · 11785 阅读 · 0 评论 -
51Nod1678 lyk与gcd
题目链接题意这天,lyk又和gcd杠上了。它拥有一个n个数的数列,它想实现两种操作。1:将 ai 改为b。2:给定一个数i,求所有 gcd(i,j)=1 时的 aj 的总和。输入第一行两个数n,Q(1<=n,Q<=100000)。接下来一行n个数表示ai(1<=ai<=10^4)。接下来Q行,每行先读入一个数A(1<=A<=2)。若A...原创 2020-03-17 23:16:26 · 123 阅读 · 0 评论 -
51Nod1262扔球
题目链接在圆上一点S,扔出一个球,这个球经过N次反弹还有可能回到S点。N = 4时,有4种扔法,如图:恰好经过4次反弹回到起点S(从S到T1,以及反向,共4种)。给出一个数N,求有多少种不同的扔法,使得球恰好经过N次反弹,回到原点,并且在第N次反弹之前,球从未经过S点。输入输入一个数N(1 <= N <= 10^9)。输出输出方案数量。题解:先给出答案, 为 n...原创 2020-03-16 17:19:30 · 218 阅读 · 0 评论 -
51Nod1225余数之和
题目链接题意:F(n) = (n % 1) + (n % 2) + (n % 3) + … (n % n)。其中%表示Mod,也就是余数。例如F(6) = 6 % 1 + 6 % 2 + 6 % 3 + 6 % 4 + 6 % 5 + 6 % 6 = 0 + 0 + 0 + 2 + 1 + 0 = 3。给出n,计算F(n), 由于结果很大,输出Mod 1000000007的结果即可。输入:...原创 2020-03-12 10:11:53 · 192 阅读 · 0 评论 -
51Nod1020逆序排序
题目链接题意:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。1-n的全排列中,逆序数最小为0(正序),最大为n*(n-1) / 2(倒序)给出2个数n和k,求1-n的全排列中,逆序数为k的排列有多少种?例如:n = 4 k...原创 2020-03-07 21:28:45 · 202 阅读 · 0 评论 -
我的模板
#include <bits/stdc++.h>using namespace std;#define ll long long #define inf 0x3f3f3f3f#define mes(a, val) memset(a, val, sizeof a)#define mec(b, a) memcpy(b, a, sizeof a)int main(){ r...原创 2020-03-07 19:14:55 · 207 阅读 · 0 评论