随笔分类 - 数论||数学
摘要:比如模数是1e15这种,相乘的时候爆LL了,但是又不想用大数,咋办呢? 转long double再搞回来 《算法竞赛进阶指南》 听说很稳? a∗bmodp=a∗b−⌊a∗bp⌋∗pa∗bmodp=a∗b−⌊a∗bp⌋∗p 用long double来计算⌊a∗bp⌋⌊a∗bp⌋,误差很小,因为long
阅读全文
摘要:题目大意:就是找一个数拆成两个无平方因子的组合数,然后求个前缀和 ; 分析:运用筛法的思想 , 因为有序对是由两个合法的数字组成的,所以只要保证第一个数合法,第二个数也合法就行,找出合法的第二个数字的个数就可以用sum前缀和来算,所以L就是第一个数,R=n/L就是最大的第二个数,这里又规定了第二个数
阅读全文
摘要:题目描述 求两个数m和n的最大公约数。((m>0,n>0)) 输入 输入二个数,即m和n的值。 输出 输出最大公约数。 法1(参考《信息学奥赛一本通》) 求任意两数(假设是n,m)的公约数,公约数最大可能就是较小的那个数(假设为m),最小为1。所以可以先设最大公约数gys=m。如果gys>1,且没被
阅读全文
摘要:高斯消元快速入门 一、基本描述 学习一个算法/技能,首先要知道它是干什么的,那么高斯消元是干啥的呢? 高斯消元主要用来求解线性方程组,也可以求解矩阵的秩,矩阵的逆。在ACM中是一个有力的数学武器. 它的时间复杂度是n^3,主要与方程组的个数,未知数的个数有关。 那么什么是线性方程组呢? 简而言之就是
阅读全文
摘要:题意 给你N个数字和一个K,问一共有几种拼接数字的方式使得到的数字是K的倍数,拼接:“234”和“123”拼接得到“234123” 分析: N <= 2e5,简单的暴力O(N^2)枚举肯定超时 数字A和B拼接,B的位数最多10位,如果我们知道位数为(1-10)的数字和A拼接满足是K的倍数这样的数字有
阅读全文
摘要:给定的pp是素数,要求给定一个加法运算表和乘法运算表,使(m+n)^p=m^p+n^p(0≤m,n<p)(m+n)^p=m^p+n^p(0≤m,n<p)。因为给定的p是素数,根据费马小定理得 (m+n)^(p−1)≡1(mod p)因此,(m+n)^p≡m+n (mod p)同时,m^p+n^p≡m
阅读全文
摘要:n为奇数有勾股数(2*n+1,2*n*n+2*n,n*n+1);n为偶数有勾股数(2*n,n*n-1,n*n+1)。
阅读全文
摘要:给定a1,a2,.....,am,求1到n的整数中至少可以整除a中一个元素的数有多少个?3
阅读全文
摘要:求(3+开根5) N次方的整数部分最后3位,请补足前导零 。 分析:首先(1)=(3+开根5) N次方的展开为 an + bn * 根号5 的形式 。 同时也有 (2)=(3-开根5) N次方 = an - bn * 根号5 ; 则可以得出 (1)+(2) = 2*an,, so (1) = 2*a
阅读全文
摘要:题意:个n个方块涂色, 只能涂红黄蓝绿四种颜色,求最终红色和绿色都为偶数的方案数。 该题我们可以想到一个递推式 。 设a[i]表示到第i个方块为止红绿是偶数的方案数, b[i]为红绿恰有一个是偶数的方案数, c[i]表示红绿都是奇数的方案数。 那么有如下递推可能: 递推a[i+1]:1.到第i个为止
阅读全文
摘要:Description 不知道Alice是从哪里听到Fibonacci数列,并对它发生了浓厚的兴趣。她想看看这个数列的递增过程是怎样的。 众所周知,Fibonacci数列的第一项是1,第二项也是1,从第三项开始,每项都是它前面两项之和。数列前面的一些项比较小,但增长速度很快,后面的项变得很大很大。
阅读全文
摘要:(1)矩阵乘法 简单的说矩阵就是二维数组,数存在里面,矩阵乘法的规则:A*B=C 其中c[i][j]为A的第i行与B的第j列对应乘积的和,即: 据说,矩阵快速幂在递推式优化上相当神奇,而且效率很高。。。 两矩阵相乘,朴素算法的复杂度是O(N^3)。如果求一次矩阵的M次幂,按朴素的写法就是O(N^3*
阅读全文
摘要:反素数 拿按上次你上次 从OSCN FSK从的viv红尘饿哦v你的的v你v 0 JCOD NVEN AODKVN ODV D DVDDV
阅读全文
摘要:求两个三位数乘机是回文数的最大值 其实就是求 10000-998001之间、可由两个三位数的乘机的最大回文数 abccba然后简化为:100000a + 10000b + 1000c + 100c + 10b + a然后:100001a + 10010b + 1100c分解11,得到:11(9091
阅读全文
摘要:13195的质数因子有5,7,13和29. 600851475143的最大质数因子是多少? 这里可以肯定的是:1.数字很大,绝对不能暴力。2.如果这是一到OJ题,那么我们的目的就是尽量缩小这个数,减少计算量。 我们都知道,任何一个合数都是可以由他的所有质因素相乘得到的,比如15=3*3*3*3*3,
阅读全文
摘要:康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数(1,2,3,4,…,n),可以有组成不同(n!种)的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。 逆康托展开给一个数字求出第几个排列组合。 给出n和操作数k,要求资瓷: P x求n的第
阅读全文
摘要:首先,我们得知道一定定理,如果10的n次方,那这个n就是多少位,对不对!对,这就很秒了 比如如果求一个N的数,N=10的log10N的次方,那么它的位数就是log10 N,流弊!! 有人说log10 怎么打?很简单c++的库函数里面有 log10(100)的返回值就是2,log(999)的返回值是二
阅读全文
摘要:素数的判断其实谁都会,所以这篇跳过简单的素数判断,直接学习如何快速判断1到N的素数,以及判断大数据是否为素数。 (1)埃氏筛法 现在我们先学习埃氏筛选法,此法实用与大规模判断素数,比如1到N的素数有那些啊,等等等等。 这个算法流弊哦,与辗转相除法一样古老哇。 首先,将2到n范围内的所有整数写下来。其
阅读全文
摘要:二分乘法主要是解决乘法的结果远超int范围,但需要的结果有取余的乘法运算 LL multi(LL a,LL b,LL m) { LL ans = 0; a %= m; while(b) { if(b & 1) { ans = (ans + a) % m; b--; } b >>= 1; a = (a
阅读全文
摘要:long long quickpow(long long a, long long b) { if (b < 0) return 0; long long ret = 1; a %= mod; while(b) { if (b & 1) ret = (ret * a) % mod; b >>= 1;
阅读全文

浙公网安备 33010602011771号