随笔分类 - 数论||数学
摘要:https://ac.nowcoder.com/acm/contest/907/B t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数 分析: 根据约数和定理:对于一个大于1正整数n可以分解质因数:n=p1^a1*p2^a2*p3^a3*…*pk^ak,则由约数个数定理可知n的正
阅读全文
摘要:(n & m) == m 为奇数 C(n,0),C(n,1),C(n,2)…C(n,n).当中有多少个奇数 第一种想法是Lucas定理推导,我们分析一下 C(n,m)%2,那么由lucas定理,我们可以写成二进制的形式观察,比如 n=1001101,m是从000000到1001101的枚举,我们知道
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/874#submit/{%22problemIdFilter%22%3A25455%2C%22statusTypeFilter%22%3A%225%22} #include<cstdio> #include<cmath> #in
阅读全文
摘要:https://codeforces.com/contest/1117/problem/D 题解:有一些魔法宝石,魔法宝石可以分成m个普通宝石,每个宝石(包括魔法宝石)占用1个空间,让你求占用n个空间的方法有几种,有不同数量的魔法宝石和不同分法的方法算不同的方法, 分析:根据一些猜想可以推出递推式f
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:f[n] = f[n-1] + f[n-2]*2 + n^3; f[1] =1 ; f[2] = 2 ; 求f[n; 分析:一眼相望可知为矩阵快速幂 , 在此在此加深了矩阵快速幂的用法; 下面是推导过
阅读全文
摘要://O(1)快速乘 inline LL quick_mul(LL x,LL y,LL MOD){ x=x%MOD,y=y%MOD; return ((x*y-(LL)(((long double)x*y+0.5)/MOD)*MOD)%MOD+MOD)%MOD; } //O(log)快速乘 inlin
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=6395 给你一个式子,给出你A,B,C,D,P,n,让你求出第n项的式子Fn。(其中ABCDPn均在1e9的范围内) 分析: 如果Fn=C*F(n-2) + D*F(n-1) + num ; 我们就可以直接构
阅读全文
摘要:题目:https://codeforces.com/contest/1114/problem/C 将b分解为若干素数乘积,记录每个素数含多少次方 b = p1^y1·p2^y2·...·pm^ym. 然后求n!种每个素数含多少次方n ! = p1^x1·p2^x2·...·pm^xm· 答案就是 #
阅读全文
摘要:题目 给出长度为n 的A矩阵 , 按 int cursor = 0;
阅读全文
摘要:求,其中,并且是素数。 #include <iostream> #include <string.h> #include <stdio.h> using namespace std; typedef long long LL; LL n,m,p; LL quick_mod(LL a, LL b) {
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/301/H来源:牛客网 题描述 小乐乐上了一节数学课,数学老师讲的很好,小乐乐听的也如痴如醉。 小乐乐听了老师的讲解,知道了什么是素数,现在他想做几个习题。 现在题目来了: 首先我们先定义孤独的数:在一个区间中的一个数字x
阅读全文
摘要:大数因数分解Pollard_rho 算法 复杂度o^(1/4) #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <map> using na
阅读全文
摘要:比赛的时候规律题是很常见的事情 ,所以这里做下总结。 解题分几个步骤; 1 : 首先规律题的数据规模是大的 , 可以说如果结果是数字样的话,而且数据大很有可能的规律; 2 : 暴力打表找到前面10位数字; 2(1) : 如果足够强大可以根据某种灵性的解法得出答案(我是不够灵的。。) 3 :如果足够强
阅读全文
摘要:/* 高精度进制转换 把oldBase 进制的数转化为newBase 进制的数输出。 调用方法,输入str, oldBase newBase. change(); solve(); output(); 也可以修改output(),使符合要求,或者存入另外一个字符数组,备用 */ #include<s
阅读全文
摘要:题意: 给定S,N,把S+1,S+2,...S+N这N个数填到1,2,...,N里,要求X只能填到X的因子的位置。(即X%Y=0,那么X才能放在Y位置) 问是否能够放满。 分析:经过小队的分析得出的结论是如果S+1,S+2,...S+N有两个素数就肯定是不行的对吧 ,虽然素数可以取本身当如果素数可以
阅读全文
摘要:可以在log2n内计算阶乘。 还可以logn内完成,但需要把C(N,N/2),C(N/2,N/4),C(N/4,N/8).....打出来。
阅读全文
摘要:思路:由于5000!数值十分庞大,常规方法就不必想了。我翻阅了许多代码,整理了思路并最后记录在这篇文章中,整体较好理解。我们开了一个很大的数组,用来储存计算后阶乘的值,但是要注意,在数组里面是逆序储存的。下面的预最大位数就是自己事先估计下这道题目极限数据的位数是多少。我们将数组的第一位赋值为1,便于
阅读全文
摘要:于任意自然数,当要求a^p%m时,就可以利用费马小定理化简,只需求(a^(p%(m-1)))%m;(p是素数)
阅读全文
摘要:题目:经过提炼后, 题目的意思就是问[2,n] 内,不是次方数的数量 ,; 思路: 答案就是 原理是利用容斥,注意n开i次根是向下取整(这题巨卡精度) 这是大神的思路 ,, 我还没有理解, 先放着,等以后在来思考 , 先当模板使用 #include <bits/stdc++.h> #define f
阅读全文
摘要:题意:给你2^k个面具,然后n个人,要求挨着的2个人二进制之后不能互补。问你有多少不同的方案数 分析:经过周密的分析,可以得出每一个数只和一个特定的数异或成不可以的结果 , 那就很容易分析出 可是 1 号与4号会出现相同的情况,我们要加上这个情况 那我们就考虑将这两个合并,并将5号排除, 可以找到递
阅读全文

浙公网安备 33010602011771号