随笔分类 - 数论
数论中的一些公式(转)
摘要:以下等式或者不等式均可以用数学归纳法予以证明! 1 + 3 + 5 + ... + (2n - 1) = n^2 1*2 + 2*3 + 3*4 + ... + n*(n + 1) = n*(n + 1)*(n + 2) / 3 1*1! + 2*2! + 3*3! + ... + n*n! = (
阅读全文
HDU 4746 莫比乌斯反演+离线查询+树状数组
摘要:题目大意:一个数字组成一堆素因子的乘积,如果一个数字的素因子个数(同样的素因子也要多次计数)小于等于P,那么就称这个数是P的幸运数多次询问1 2 #include 3 #include 4 #include 5 #include 6 #include 7 using names...
阅读全文
CSU 1325 莫比乌斯反演
摘要:题目大意:一、有多少个有序数对(x,y)满足1 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define ll long long 8 #define N 10005 9 #define M 1000000010 ...
阅读全文
bzoj1211: prufer序列 | [HNOI2004]树的计数
摘要:题目大意:告诉你树上每个节点的度数,让你构建出这样一棵树,问能够构建出树的种树这里注意数量为0的情况,就是当 n=1时,节点度数>0n>1时,所有节点度数相加-n!=n-2可以通过通过除了根,必然有n-1个节点作为上一个节点的儿子来理解然后通过学习prufer序列可知每一颗树都能够建成唯一的序列,这...
阅读全文
HDU5478 原根求解
摘要:看别人做的很简单我也不知道是怎么写出来的自己拿到这道题的想法就是模为素数,那必然有原根r ,将a看做r^a , b看做r^b那么只要求出幂a,b就能得到所求值a,b自己慢慢化简就会发现可以抵消n然后扩展欧几里得解决,一个个枚举所有模的情况。。。。中间利用了欧拉准则可以知道 对所有奇素数而言: a^(...
阅读全文
HDU 5451 广义斐波那契数列
摘要:这道题目可以先转化:令f(1) = 5+2√6f(2) = f(1)*(5+2√6)...f(n) = f(n-1)*(5+2√6)f(n) = f(n-1)*(10-(5-2√6)) = 10*f(n-1)-(5-2√6)f(n-1) = 10*f(n-1) - 10/(5+2√6) f(n-1)...
阅读全文
SGU 140 扩展欧几里得
摘要:题目大意:给定序列a[] , p , b希望找到一个序列 x[] , 使a1*x1 + a2*x2 + ... + an*xn = b (mod p)这里很容易写成a1*x1 + a2*x2 + ... + an*xn + yp = b->a1*x1 + a2*x2 + ... + an*xn + ...
阅读全文
POJ 1777 mason素数
摘要:题目大意:给定数列a1 , a2 , ... , an希望找到一个 N = sigma(ai^ki) , (0 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define p...
阅读全文
Stern-Brocot树 及 法里级数分析
摘要:Stern-Brocot树产生了所有分子分母互素的分数从初始0/1 1/0 -> m/n m'/n'出发,不断往中间添加 (m+m')/(n+n')容易推得 n * m' - m * n' = 1证:初始 0/1 1/0 那么1*1-0*0=1那么假设前一次符合n * m' - m * n' = 1...
阅读全文
HDU 5382 莫比乌斯反演
摘要:题目大意:求S(n)的值 n 2 3 using namespace std; 4 #define N 1000000 5 #define ll long long 6 const int MOD=258280327; 7 8 ll g[N+5] , t[N+5] , f[N+5]; 9 ll ...
阅读全文
HDU 1098 Ignatius's puzzle 费马小定理+扩展欧几里德算法
摘要:题目大意:给定k,找到一个满足的a使任意的x都满足f(x)=5*x^13+13*x^5+k*a*x 被65整除推证:f(x) = (5*x^12 + 13 * x^4 + ak) * x因为x可以任意取 那么不能总是满足 65|x那么必须是 65 |(5*x^12 + 13 * x^4 + ak)那...
阅读全文
POJ 2992 求组合数的因子个数
摘要:求C(n,k)的因子个数C(n,k) = (n*(n-1)*...*(n-k+1))/(1*2*...*k) = p1^k1 * p2^k2 * ... * pt^kt这里只要计算出分子中素数因子个数减去分母中的个数然后每一种因子都有 (cnt+1)种取的可能,乘一下就出来了但是不能逐个因子分解,试...
阅读全文
POJ 2480 求每一个数对于n的最大公约数的和
摘要:这里是枚举每一个最大公约数p,那么最后求的是f(n) = sigma(p*phi(n/p)) phi()为欧拉函数这里可以试着算一下,然后会发现这个是积性函数的那么只要考虑每一类质数分开算,最后乘在一起就行了而对于f(p^k) p为素数的求解可以这样考虑对于前一个f(p^(k-1)) , 那么f(...
阅读全文
POJ 1845 求a^b的约数和
摘要:题目大意就是给定a和b,求a^b的约数和f(n) = sigma(d) [d|n]这个学过莫比乌斯反演之后很容易看出这是一个积性函数那么f(a*b) = f(a)*f(b) (gcd(a,b)=1)那么这道题就可以将a分解为每一个素数的k次方,求出相对应的f(p^k),将每一个乘在一起就行了因为每一...
阅读全文
lucas 定理学习
摘要:大致意思就是求组合数C(n , m) % p的值, p为一个偶数可以将组合数的n 和 m都理解为 p 进制的表示n = ak*p^k + a(k-1)*p^(k-1) + ... + a1*p + a0m =bk*p^k + b(k-1)*p^(k-1) + ... + b1*p + b0然后C(n...
阅读全文
bzoj 2154 莫比乌斯反演求lcm的和
摘要:题目大意:表格中每一个位置(i,j)填的值是lcm(i,j) , 求n*m的表格值有多大论文贾志鹏线性筛中过程讲的很好最后的逆元我利用的是欧拉定理求解的我这个最后线性扫了一遍,勉强过了,效率不是很高。。。 1 /*bzoj 2154*/ 2 #include 3 4 using namespac...
阅读全文
bzoj 3529 数表 莫比乌斯反演+树状数组
摘要:题目大意:有一张N×m的数表,其第i行第j列(1 2 3 using namespace std; 4 #define N 100000 5 #define ll long long 6 #define lowbit(x) x&(-x) 7 typedef pair pii; 8 ...
阅读全文
bzoj 2820 YY的GCD 莫比乌斯反演
摘要:题目大意:给定N, M,求1 3 4 using namespace std; 5 #define ll long long 6 #define N 10000000 7 int mu[N+5] , prime[N+5] , tot , f[N+5] , sum[N+5]; 8 bool chec...
阅读全文
bzoj 2301 莫比乌斯反演
摘要:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。这里题目意思很明显对于要求的f[n] = sigma (a≤x≤b) sigma(c≤y≤d) [gcd(x,y)=k] =sigma (1≤x≤b)s...
阅读全文
bzoj 2440 简单莫比乌斯反演
摘要:题目大意:找第k个非平方数,平方数定义为一个数存在一个因子可以用某个数的平方来表示这里首先需要考虑到二分才可以接下来做二分去查找[1 , x]区间内非平方数的个数,后面就是简单的莫比乌斯反演了容斥原理的思想,首先考虑所有数都属于非平方数 那么就是x然后对于每一个平方数都要减去,但是这里应该只考虑质数...
阅读全文
浙公网安备 33010602011771号