
数论
搬砖的小孩有肉吃
我曾十步杀一人,却败给你的眼神
展开
-
2020牛客寒假算法基础集训营4-子段乘积
使用尺取法,但是此题最重点的是求逆元的过程,,求逆元的四种实现方式在本人的收藏夹数论部分#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<vector>#include<cmath>#inc...原创 2020-02-14 12:20:27 · 141 阅读 · 0 评论 -
切比雪夫定理
题解:原创 2019-09-26 22:14:18 · 2234 阅读 · 0 评论 -
Lucas定理--大组合数求模
#include<bits/stdc++.h> #include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<vector>#include<cmath>#include<string...原创 2019-09-26 21:37:23 · 128 阅读 · 0 评论 -
模---(拓展欧几里得思想,数论)牛客网
https://ac.nowcoder.com/acm/problem/13251题目描述给定四个正整数a,b,c,k,回答是否存在一个正整数n,使得a*n在k进制表示下的各位的数值之和模b为c。输入描述:第一行一个整数T(T <= 5,000)。 接下来T行,每行四个正整数a,b,c,k(1 ≤ a ≤ 10^18; 2 ≤ k ≤ 10^18; 0 ≤ c ...原创 2019-09-08 18:49:34 · 456 阅读 · 3 评论 -
线性欧拉筛素数
欧拉筛法求素数:欧拉筛法求素数又称为线性筛法求素数,是一种将求一定范围内的素数的时间复杂度控制在O(n)的一种算法,它跟埃拉特斯尼筛法求素数很像,做了一定的改进,我们知道,埃拉特斯尼筛法之所以没有达到线性筛的水平是因为它对于同一个合数,要重复操作他的质因子个数次,这是很浪费的,而欧拉筛法求素数则去掉了重复操作,它在当合数i可以整除质数时跳出对下一个数进行操作,比方说,当i = 4时,不...原创 2019-09-08 12:16:46 · 223 阅读 · 0 评论 -
欧拉函数广义降幂
https://www.luogu.org/problem/P5091#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<vector>#include<cmath>#includ...原创 2019-08-29 11:57:39 · 387 阅读 · 0 评论 -
求逆元(拓展欧几里得)
要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。Input数据的第一行是一个T,表示有T组数据。每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。Output对应每组数据输出(A/B)%9973。Sample Input2...原创 2019-07-23 10:46:19 · 736 阅读 · 0 评论 -
矩阵快速幂---斐波那契数列(最大公约数)
题目描述对于Fibonacci数列:1,1,2,3,5,8,13......大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少?Update:加入了一组数据。输入输出格式输入格式:两个正整数n和m。(n,m<=10^9)注意:数据很大输出格式:Fn和Fm的最大公约数。由于看了大数字就头晕,所以只要输出最后的8位数字就可以了...原创 2019-06-05 20:07:58 · 985 阅读 · 0 评论 -
快速幂求结果的前三位和后三位
求前三位:每一个数n都可以写作10^t(t大多是小数),则此时n^k可写作10^ktn=10^tn^k=10^ktkt=x+y(x是整数部分,y是小数部分)n^k=10^x * 10^y因为x是整数,所示10^x是1,10,100,1000…表示的是n^k有多少位,y是小数,10^y表示的是n^k的具体的数值。所以我们要求n^k的前a位,即求10^(a-1+y)...原创 2019-07-21 19:16:11 · 1373 阅读 · 0 评论 -
拓展欧几里得(模板)
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,...原创 2019-07-21 22:26:26 · 195 阅读 · 0 评论 -
求欧拉函数的方法
求欧拉函数的一般方法:1.我们知道一个素数p的欧拉函数f(p)=p-1;那么p的k次幂,即n=p^k,则容易证明:f(n)=p^k-p^(k-1);证明:已知少于p^k的数有p^k-1,其中与p^k不互质的数有p^(k-1)-1个,分别为(p*1,p*2,p*3,····,p*(p^(k-1)-1))。所以f(n)=p^(k)-1-(p^(k-1)-1)=p^(k)-p^(k-1)。...原创 2019-07-24 11:47:13 · 4252 阅读 · 0 评论 -
欧拉函数+快速幂+快速乘(最幸运的数)
https://blog.youkuaiyun.com/lizhiwei2017/article/details/81543342Chinese people think of '8' as the lucky digit. Bob also likes digit '8'. Moreover, Bob has his own lucky numberL. Now he wants to constru...原创 2019-07-24 11:29:27 · 402 阅读 · 0 评论