![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
Sensente
满船清梦压星河
展开
-
ACM 数论基础
一、从取模开始定义1.1若(a-b)可以被m整除,即(a-b)%m == 0 则称其a与b对m同余,记做栗子:(20-10) / 2 = 5 即20与10 对 2 同余,记做定理1.1同余的基本性质(分别有+-*/四条,暂略)素数线性筛(欧拉筛)const int maxn = 1e8 + 10;int prime[maxn];bool vi...原创 2020-02-13 17:04:50 · 238 阅读 · 0 评论 -
数论 莫比乌斯反演 学习笔记
基础知识1.欧拉函数定义 即小于n的正整数中与n互质的数的个数性质1.对于素数 f(P) = P - 1;2.不完全积性函数 f(mn) = f(m) * f(n) 当且仅当(m,n) = 1成立3.对于一个正整数N的素数幂分解(唯一分解定理)f(N) = N * (1 - 1/P1) * (1 - 1/P2) * ... * (1 - 1/Pn)4.除了N ...原创 2019-10-13 20:14:15 · 237 阅读 · 0 评论 -
POJ3252 Round Numbers
POJ3252http://poj.org/problem?id=3252题目大意:找出小于等于N的且二进制表示中0的数目大于等于1的数目的数字(Round Numbers ,RN)的个数解题思路:参考首先考虑,以23(10111 B)为例。首先计算出它的二进制表示长度,即5.首先考虑比它长度小的,(长度更小当然数字也更小)。四位:第四位首先首位是1(否则无...原创 2019-08-17 16:37:39 · 223 阅读 · 0 评论 -
LOJ 1370 Bi-shoe and Phi-shoe
Vjudgehttps://vjudge.net/problem/LightOJ-1370#author=0题目大意:给定一组数据,欧拉函数数值刚好符合给定数据 或 刚好大于给定数据的数值的和。AC代码:#include <iostream>using namespace std;const int N = 1000005;//int euler(int...原创 2019-07-15 12:00:39 · 136 阅读 · 0 评论 -
杭电2161 Primes
HDU2161http://acm.hdu.edu.cn/showproblem.php?pid=2161AC代码:#include <iostream>using namespace std;bool prime(int x) { if(x == 1 || x == 2) return false; for(int i = 2; i * i ...原创 2019-07-15 10:50:35 · 181 阅读 · 0 评论 -
杭电1018 Big Number
HDU1018http://acm.hdu.edu.cn/showproblem.php?pid=1018题目大意:求n的阶乘的位数解题思路:首先了解如何求算一个数字的位数,其实很简单。即digit(n) = ceil(log(n) / log(10)); //这里的log是内置函数而阶乘恰好可以与对数运算结合成加法。即将从1 到 n的每个数字都算出位数后...原创 2019-06-23 17:40:28 · 140 阅读 · 0 评论 -
POJ3070 Fibonacci (矩阵快速幂)
POJ 3070http://poj.org/problem?id=3070题目大意:巨大的斐波那契数列,但是这题告诉了一种新的求解方法,即用矩阵相乘求值。可以发现,其求值即为求{1,1,1,0}这一二阶方阵的n次幂。于是出现吧——矩阵快速幂。https://www.cnblogs.com/cmmdc/p/6936196.html#undefined(这篇博文写的非常详细,...原创 2019-04-23 22:43:21 · 196 阅读 · 0 评论 -
杭电1287 破译密码(异或)
杭电1287http://acm.hdu.edu.cn/showproblem.php?pid=1287题目大意:认真读题。。。用一个大写字母异或原文得到密文解决思路:异或运算性质:这里用到了异或运算的自反性。A XOR B = CB即为所求秘钥A XOR B XOR A = C XOR A = B所以依次枚举大写字母,直到所有的密文都可以被解密成大写字母即可...原创 2019-05-12 01:03:28 · 203 阅读 · 0 评论 -
数论基础 欧拉函数
欧拉函数 Euler's totient function例如φ(8)=4,因为1,3,5,7均和8互质。N = P1 ^ q1 * P2 ^ q2 * … * Pn ^ qn//唯一分解定理φ(N) = N * (1-1/P1) * (1-1/P2) * … * (1-1/Pn) //欧拉函数例如:8 = 2^3ψ(8)=8×(1-1/2 ) =4;10 = 1 × 2 ...原创 2019-05-10 17:59:04 · 325 阅读 · 0 评论 -
杭电1163 eddy's Digital Roots
杭电1163http://acm.hdu.edu.cn/showproblem.php?pid=1163题目大意:求n^n的数根(同九余数定理)AC代码:#include <iostream>#include <stdio.h>#include <cstring>#include <algorithm>#...原创 2019-05-03 21:02:15 · 163 阅读 · 0 评论 -
杭电1013 Digital Roots(九余数定理)
杭电1013http://acm.hdu.edu.cn/showproblem.php?pid=1013题目大意:所谓数根。即数字各个位置之和。若和大于10,则需要再次求和,直到小于10.AC代码:#include <iostream>#include <cstring>#include <algorithm>#in...原创 2019-05-03 20:26:12 · 205 阅读 · 0 评论