随笔分类 - 数论
摘要:传送门 题意 $Alice$和$Bob$在玩游戏。 他们从一个正整数$n$开始轮流对它进行运算。每个回合,玩家可以从$n$中减去一个非$1$或$n$的因数。在他/她的回合中不能移动的玩家输。$Alice$总是先动。 注意,他们在每个回合中都要减去当前数字的除数。 你被要求找出如果两名玩家都选择最佳策
        阅读全文
                
摘要:该题与$IndeedTokyo2019$校招笔试题涉及密码有相同的思路,都是$DP$问题。 思路 由于状态的数量众多,所以我们需要使用状态机模型考虑一大类状态的转移。 使用闫氏$DP$分析法,从集合角度分析问题: 状态表示:\(f[i, j]\),表示长度为$i$且没有不吉利数字,且与不吉利数字匹配
        阅读全文
                
摘要:同余 思路 $x$个$8$连在一起组成的正整数连在一起可写作$\dfrac{8 * (10x-1)}{9}$。那么题目就转化为让我们求出一个最小的$x$满足$L|\dfrac{8 * (10x-1)}{9}$。设$d=gcd(L,8)$。 \(L|\dfrac{8 * (10^x-1)}{9} \L
        阅读全文
                
摘要:原文地址 分析 题目要求求出不定方程:$\dfrac{1} + \dfrac{1} = \dfrac{1}\(的解\)(x,y为未知数,n为给定的常数)$。 观察原式可以发现$x$和$y$必定大于$n!$,那么不妨令 \(y=n!+k,(k\in Z^*)\) 则原式变为 \(\dfrac{1}{x
        阅读全文
                
摘要:题目 题目大意 给定两个整数$L$和$U$,你需要在闭区间$[L,U]$内找到距离最接近的两个相邻质数$C_1$和$C_2$(即$C_2−C_1$是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。 同时,你还需要找到距离最远的两个相邻质数$D_1$和$D_2$(即$D_1−D_2$是最大的
        阅读全文
                
摘要:gcd(最大公约数) 求解gcd时通常使用的是欧几里得算法(辗转相除法)。 定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。 int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } lcm(最小公倍数) 求解lcm时通
        阅读全文
                
摘要:龙哥的问题 这题要求我们求出1~n之间的所有数与n的gcd之和。 我们知道如果两个数互质的话,两个数的gcd就是1,所以res = gcd(1~n, n) = 互质的数 + gcd(不互质的数,n); 而对于两个不互质的我们有gcd(a, n) = gcd,而当我们两边同时除以gcd时我们有gcd(
        阅读全文
                
摘要:约数和定理 对于一个大于$1$正整数$n$可以分解质因数 \(n=p_1^{a_1}*p_2^{a_2}*p_3^{a_3}*\cdots*p_k^{a_k}\) 则由约数个数定理可知$n$的正约数有 \((a_1+1)*(a_2+1)*(a_3+1)*\cdots*(a_k+1)\) 那么$n$的
        阅读全文
                
摘要:顾名思义就是在用线性筛求质数的过程中将每个数的欧拉函数求出,时间复杂度为O(n); 欧拉函数: 题目: 思路: 求质数的过程中遇到了三种情况,分别是 if (!st[i]) prime[cnt ++] = i; if (i % prime[j] == 0) break; st[prime[j] * 
        阅读全文
                
摘要:定义(来自WiKi): 在数论中,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient function,由西尔维斯特所命名)。 例题: AcWing: 873.约数之和 代码: 1 #inclu
        阅读全文
                
摘要:矩阵快速幂 ———— 主要用于求解于斐波那契数列有关的题目。 洛谷1962 请你求出Fn % 1e9 +7 的值。 【数据范围】 1 <= n <= 263 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<cs
        阅读全文
                
摘要:定义 Nim游戏是博弈论中最经典的模型(之一),它又有着十分简单的规则和无比优美的结论 Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(简称ICG)。 条件 满足以下条件的游戏是ICG(可能不太严谨)
        阅读全文
                
摘要:费马小定理 费马小定理(Fermat's little theorem)是数论中的一个重要定理,在1636年提出。如果p是一个质数,而整数a不是p的倍数,即a和b两个数互质,则有a^(p-1)≡1(mod p)。 裴蜀定理 裴蜀定理(或贝祖定理)得名于法国数学家艾蒂安·裴蜀,说明了对任何整数a、b和
        阅读全文
                
摘要:试除法求约数 1 vector<int> get_divisors(int x) 2 { 3 vector<int> res; 4 for (int i = 1; i <= x / i; i ++ ) 5 if (x % i == 0) 6 { 7 res.push_back(i); 8 if (i
        阅读全文
                
摘要:质数筛: 暴力筛代码: 1 bool check_prime(int n) 2 { 3 if(n==1) return 0; 4 for(int i=1;i<=n;i++) 5 if(n%i==0) return 1; 6 return 0; 7 } 六筛法代码: 1 bool check_prim
        阅读全文
                

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号