数论
文章平均质量分 77
zzuzxy
牛顿说:“我不知道世人怎样看我,但我自己以为我不过像一个在海边玩耍的孩子,不时为发现比寻常更为美丽的一块卵石或一片贝壳而沾沾自喜,至于展现在我面前的浩翰的真理海洋,却全然没有发现。”
展开
-
B - GCD Subtraction
【代码】B - GCD Subtraction。原创 2023-04-12 17:47:03 · 754 阅读 · 0 评论 -
莫比乌斯反演定理
[toc] // 先挖坑,有空填莫比乌斯反演定理百度百科 我感觉百度百科就讲的不错原创 2018-06-02 19:11:56 · 413 阅读 · 0 评论 -
二项系数的奇数项
二项系数的奇数项 已知整数 n ,求关于 n 的所有二项系数 C(n,0)C_( n , 0 )C(n,0) , C(n,1)C_( n , 1 )C(n,1) , … , C(n,n)C_( n , n )C(n,n) 中有多少项结果为奇数。 卢卡斯定理的扩展printf("%d\n",1<<__builtin_popcount(n));...转载 2018-04-22 18:56:42 · 881 阅读 · 0 评论 -
蓝桥杯 C语言A组 乘积尾零
类似题目 有阶乘尾零 本题是这一题的延伸一个2 和 一个5 为一个零 题目的答案是31#include<iostream>using namespace std;int main(){ int n; int a = 0,b = 0; while(cin>>n) { while(n % 2 == 0) ...原创 2018-04-01 17:37:41 · 1359 阅读 · 0 评论 -
卡特兰数的三种求法
卡特兰数转载 2018-03-20 16:50:53 · 763 阅读 · 0 评论 -
Help Hanzo LightOJ - 1197
Help Hanzo LightOJ - 1197 区间素数筛const int LEN = 1e6+1;bool vis[LEN];LL Prime[LEN];int cnt = 1;void init(void){ int n = 70000; for(int i = 2; i <= n; ++i) { if(!vis[i])...原创 2018-03-11 10:06:06 · 168 阅读 · 0 评论 -
hdu 5646 拆数积最大 数学
将一个数拆开,然后求乘积hdu 56461. 拆成若干实数利用柯西不等式以及对x1/xx1/xx^{1/x}求极值点 2. 拆成若干整数3 与 e较为接近,所以选择3,然后不足的选择2 3. 拆成k个整数首先t=n%kt=n%k t= n \% k ,k个数里面有 t 个 是[n/k] + 1,k-t个 [n/k];4. 拆成k个不相同的整数...原创 2017-10-07 00:53:10 · 282 阅读 · 0 评论 -
同余方程&孙子定理&模线性同余方程
参考博客Acdreamer中国剩余定理解线性同余方程,运用拉格朗日插值法,得孙子定理 模板int m[maxn];int China(int a[],int n,int b[])//其中a[]是模数,b[] 是余数{ int M = 1; for(int i = 0;i &amp;lt; n;++i) M *= a[i]; i...原创 2017-10-07 19:12:55 · 553 阅读 · 0 评论 -
多校1005GuGuFishtion &6390 GuGuFishtion
a原创 2018-08-14 13:02:00 · 201 阅读 · 0 评论 -
G. Spare Tire
容斥#include <cstdio>#include <algorithm>using namespace std;typedef long long LL;const int mod =1e9+7;const int maxn = 1e6 + 10;LL arr[maxn];int p;LL get(LL x, LL y){ LL...原创 2018-09-08 22:13:54 · 272 阅读 · 0 评论 -
I. Lattice's basics in digital electronics
模拟#include<bits/stdc++.h>using namespace std;typedef long long ll;map<string,int> pp;int n,m,t;string ans,xx,yy;string get(char w){ string tmp=""; if(w=='0') tmp...原创 2018-09-08 22:14:49 · 206 阅读 · 0 评论 -
min25筛学习理解
#include <bits/stdc++.h>#define mem(ar,num) memset(ar,num,sizeof(ar))#define me(ar) memset(ar,0,sizeof(ar))#define lowbit(x) (x&(-x))#define Pb push_back#define FI first#define SE...原创 2019-09-25 20:06:48 · 331 阅读 · 0 评论 -
积性函数前缀和
积性函数前缀和建议向skywalker学习名词解释:1.积性函数若函数 满足 f(p∗q)=f(p)∗f(q)f(p*q) = f(p)*f(q)f(p∗q)=f(p)∗f(q), p 与q互质2. 前缀和,形式一般是∑i=1nf(n) \sum_{i=1}^{n}f(n)i=1∑nf(n)3. 狄利克雷卷积(g∗f)(n)=∑d∣ng(d)⋅f(n/d)=∑d∣ng(d/n)...原创 2019-09-14 00:38:08 · 2433 阅读 · 0 评论 -
数论常用公式总结
文章目录数论常用公式总结数论常用公式总结∑ini∗[gcd(i,p)=1]=n/2∗ϕ(n)\sum_{i}^{n} {i*[gcd(i,p)=1]} =n/2*\phi(n)∑ini∗[gcd(i,p)=1]=n/2∗ϕ(n)原创 2019-08-01 19:23:23 · 436 阅读 · 0 评论 -
Forethought Future Cup - Elimination Round C&D
文章目录C. Tree DiameterD - Frog JumpingC. Tree Diameter题意: 有一个n个点的树,但我们不知道树的形态,需要求树的直径,你可以进行不大于10次询问,每次询问包含两个集合 x,y ,(x 与y交集为空), 之后会给出x集合中的点到y集合中的点最远的距离分析: 本题的关键就是划分集合,你需要进行的10次询问必须将任意两个点的距离都清楚,这时候有趣的...原创 2019-04-29 21:59:56 · 208 阅读 · 0 评论 -
G tsy's number
文章目录tsy’s number 推公式看这里https://www.cnblogs.com/acjiumeng/p/10743919.html推出来公式为∑t=1(t)3∗⌊nt⌋3∗(⌊nt⌋+1)2∗(⌊nt⌋∗2+1)12∑d∣tϕ(d)∗μ(td)\sum_{t=1}(t)^3*\frac{{\left \lfloor \frac{n}{t} \right \rfloor}^3...原创 2019-04-24 01:41:08 · 216 阅读 · 0 评论 -
康托展开
康托展开int cantor(int a[],int n){//cantor展开,n表示是n位的全排列,a[]表示全排列的数 int ans=0,sum=0; for(int i=1;i<n;i++){ for(int j=i+1;j<=n;j++) if(a[j]<a[i]) sum++;...原创 2019-03-27 22:19:57 · 98 阅读 · 0 评论 -
F - Alex and a TV Show
F - Alex and a TV Show容斥+bitsetconst int maxn = 1e5+10;const int maxk = 7001;bitset&amp;lt;maxk&amp;gt; G[maxn];bitset&amp;lt;maxk&amp;gt; b[maxk],c[maxk];int n,q;bool bad[maxk];int main(void){ ios原创 2019-01-05 13:49:37 · 292 阅读 · 2 评论 -
D Makoto and a Blackboard
积性函数 f(p∗q)=f(p)∗f(q)f(p*q) = f(p)*f(q)f(p∗q)=f(p)∗f(q) p与q互质#include &lt;bits/stdc++.h&gt;#define mem(ar,num) memset(ar,num,sizeof(ar))#define me(ar) memset(ar,0,sizeof(ar))#define lowbit(x) (...原创 2019-01-05 11:10:32 · 188 阅读 · 0 评论 -
素性检测
如何判断一个数是素数还是合数?最简单的方法 1 利用费马小定理判断2 合数的拉宾-米勒测试模板如何判断一个数是素数还是合数?最简单的方法从1−n−−√1−n1 - \sqrt {n} 挨个除 n,如果能有一个能整除 n,则n不是素数,负责n是素数 缺点 如果n特别大,那么这种方法就非常耗时间且不容易实现 1 利用费马小定理...原创 2017-11-12 22:36:45 · 1454 阅读 · 0 评论 -
数论 计算模m的k次根
计算模m的k次根问题: 已知 gcd(d,m)=1,gcd(k,ϕ(m))=1 gcd(d,m) = 1,gcd(k,\phi(m)) = 1 xk=b(mod m)x^k = b (mod\ m) 求 x 1 求ku−ϕ(m)v=1 ku - \phi(m)v = 1 2 x=bv(mod m) x = b^v(m原创 2017-11-12 19:55:04 · 850 阅读 · 0 评论 -
Leading and Trailing LightOJ - 1282
题意You are given two integers: n and k, your task is to find the most significant three digits, and least significant three digits of nkn^k. 求nkn^k 的最高三位和最低三位分析1 最低三位,快速幂取模 2 最高三位 任取一个数 n ,有 t=lg(n)原创 2017-09-17 20:23:57 · 205 阅读 · 0 评论 -
Bi-shoe and Phi-shoe LightOJ - 1370
题意+分析欧拉定理 方法一 从利用欧拉公式从1-1e6打表,然后从n+1网上遍历找到函数值比大的第一个数 方法二 找规律,仔细研究发现a b两个素数之间的所有合数的 φ\varphi(x) 值都 <=a,于是给出n,直接找到比它大的第一个素数就是我们要求的值参考代码//数学上来先打表const int LEN = 1e6+100;int vis[LEN];void Init(void)原创 2017-09-17 00:08:34 · 182 阅读 · 0 评论 -
素数表,区间素数筛
10610610^6 0.02 秒 10710710^7 0.4秒 10810810^8 5 秒typedef long long LL;const int LEN = 1e9+1;bool vis[LEN];//int Prime[666666];int cnt = 1;void init(void){ int n = 1e8*5; for(int i...原创 2017-09-18 20:51:27 · 469 阅读 · 0 评论 -
GCD - Extreme (II) UVA - 11426
GCD - Extreme (II) UVA - 11426具体分析请看上个博客参考代码const int MAXN = 4000001;LL Phi[MAXN];void Euler(void)//首先欧拉函数打表{ for(int i = 1;i < MAXN; ++i) Phi[i] = i; for(int i = 2;i < MAXN; ++i)原创 2017-09-22 23:07:20 · 200 阅读 · 0 评论 -
2182: 不是签到题XD
2182: 不是签到题XD Time Limit: 1 Sec Memory Limit: 64 MB Submit: 105 Solved: 25SubmitStatusWeb Board Description 小明是一个贪心的孩子,他天天想着怎么让自己省钱。有一天他去商店买物品,然而他不是普通人,他有一个马基雅把库内的能力,可以只花掉商品价格与他今日幸运数字x的最大公约数的钱就能买原创 2017-09-22 22:59:27 · 322 阅读 · 0 评论 -
欧拉函数打表
欧拉函数打表for(i=1; ii++) p[i]=i;for(i=2; ii+=1) if(p[i]==i) { for(j=i; j&amp;amp;amp;amp;lt;=maxn; j+=i) p[j]=p[j]/i*(i-1); }原创 2017-09-22 20:14:00 · 519 阅读 · 0 评论 -
数论 阶乘尾零
n的阶乘末尾有多少个零 初等数论模版int fun2(int n){ int num = 0; while(n) { num += n / 5; n = n / 5; } return num;}原创 2017-08-25 18:34:35 · 416 阅读 · 0 评论 -
欧几里得扩展
源网址 欧几里得扩展证明(自我感觉最好懂得一种写法) ① ,当b = 0 时,gcd(a, b) = a , 此时 x = 1, y = 0;② ,当a∗b≠0a∗b≠0 a * b \not = 0 时,设 a * x + b * y = gcd(a, b); (1)b * x0 + (a % b) * y0 = gcd( b, a % b); (2)由朴素的欧几...转载 2017-08-06 21:50:16 · 383 阅读 · 0 评论 -
快速幂模板
long long qpow(long long n,long long k,long long m){ long long ans = 1; long lon g nn = n % m; while(k>0) { if(k&1) ans =ans * nn % m; nn = nn * nn % m;原创 2017-09-18 19:36:20 · 291 阅读 · 0 评论 -
A Simple Math Problem HDU - 5974
A Simple Math Problem HDU - 5974题意 Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a转载 2017-09-01 11:48:32 · 203 阅读 · 0 评论 -
数论逆元
什么是逆元存在逆元的条件是什么怎样求一个数的逆元扩展逆元是数论之中的一个重要概念 参考博客 ACdreamer 参考书籍 《高中数学 选修 4-6》什么是逆元存在逆元的条件是什么怎样求一个数的逆元1. 欧几里得扩展 a∗b+n∗t=1a∗b+n∗t=1 a*b + n *t = 1 long long ex_gcd(...原创 2017-10-03 10:29:33 · 2269 阅读 · 0 评论 -
Exponial Kattis - exponial
from Exponial Kattis - exponial NCPC 2016题意求 n(n−1)n−2...%m n ^{(n-1)^{n-2}...} \% m分析欧拉函数降幂公式 A^B(mod m)=A^{B \% ψ(m)+ψ(m)} (B<=ψ(m))A^B(mod m)=A^{B \% ψ(m)+ψ(m)} (B...原创 2017-10-03 22:48:43 · 337 阅读 · 0 评论 -
What is N? HDU - 4335
What is N? HDU - 4335数论,欧拉函数降幂公式题意求 1 - M 中 n 中 nn!=b( mod m)nn!=b( mod m)n ^ {n !} = b ( \ mod\ m)的个数分析欧拉函数降幂公式 AB(mod m)=AB % ψ(m)+ψ(m)AB(mod ...原创 2017-10-03 22:13:04 · 265 阅读 · 0 评论 -
Sumdiv poj 1845
Sumdiv poj 1845 等比数列求和并取模,非逆元方法const int M = 9901;long long qpow(long long a,long long b){ a %= M; long long ans = 1; while(b>0) { if(b&1) ans = ans*a%M; a原创 2017-10-02 21:46:28 · 142 阅读 · 0 评论 -
X问题 HDU - 1573& Strange Way to Express Integers POJ - 2891
[toc] X问题 HDU - 1573& Strange Way to Express Integers POJ - 28911. 题意一个数模mimim_i 等于 aiaia_i,第一个问题是求最小的,第二个问题是求x<=n有多少个2. 分析合并两个模数 假设 y=a1...原创 2017-10-07 23:13:51 · 256 阅读 · 0 评论 -
Harmonic Number (II) LightOJ - 1245
题意求 n/1+n/2+..n/nn/1+n/2+..n/n n/1 + n/2+.. n/n分析求 n/k = t 的k的个数 [nk]&amp;amp;gt;=t[nk]&amp;amp;gt;=t[{n\over k}] &amp;gt;= t的个数为[nt][nt][{n\over t}] 个,于是[nk]=t[nk]=t[{n\over k}] = t 的个数就是 [nt]−[nt+1][nt]−[nt+1][{n...原创 2017-09-19 22:47:06 · 283 阅读 · 0 评论 -
Pairs Forming LCM LightOJ - 1236
题意分析参考代码Pairs Forming LCM LightOJ - 1236题意问共有多少组数的最大公倍数是n分析组合数学 ,唯一分解定理,对于每一个素因子pipip_i, 如果该素因子共有numinuminum_i个,则对于该素因子来说(a,b)(a,b)(a,b) (0−numi,numi)(0−numi,numi)(0-num_i,...原创 2017-09-20 21:54:16 · 381 阅读 · 0 评论 -
Sigma Function LightOJ - 1336 唯一分解定理
Sigma Function LightOJ - 1336题意约数和 一个数所有约数的和求从1-n的数中约数和是偶数的数的个数分析约数和函数 或者 利用第一个公式 如果因子中有2,则括号中的第一项必为奇数, 除了2之外所有素数都是奇数,所以当p != 2时, 1 + p^1%2+p^2%2+p^3%2+…p^a%2 = a+1(mod 2)原创 2017-09-14 20:03:57 · 312 阅读 · 0 评论 -
C. Ray Tracing
Intel Code Challenge Final Round (div.1 + div.2 combined) editorial C. Ray Tracing time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard outputT转载 2017-08-07 22:47:03 · 201 阅读 · 0 评论