UVA10780幂和阶乘】的更多相关文章

题意:       输入两个整数n,m(1<m<5000,0<n<10000)求最小的k使得m^k是n!的因子. 思路:      比较容易想,一开始手残wa了好几次,我们直接求出m和n!的素数因子和个数就行了,假如s1[a]表示的是n!的素数因子a的个数,s2是m的,则Ans=min(Ans ,s1[a]/s2[a]);这个应该不用解释,很好理解吧! #include<stdio.h> #include<string.h> int Pri[11000] ,…
4.4上午:数学基础 (qwq整成word和cpp了,它居然不能直接把文档附上来) part 1:高精度运算 高精加和高精减就不说了,之前写过博客了qwq,讲一讲高精乘和高精除吧. 1.高精度乘法(不知道为甚么害怕自己忘了老想再写一遍): 题干(就很简单惹):给定两个数a,b,求他们的乘积(a和b都很大): 显然如果直接乘,用一个数组存的话,可能会爆掉,(_int128也会爆的qwq),这时或许可以考虑将每一位分开存,然后就引入了神奇的高精度: 先读入两个数:这里用的是字符串char读入然后把每…
sequence 考虑长度<=x的方案数F(x),然后(F(x)-F(x-1))*x贡献到答案里 n平方的做法可以直接DP, 感觉有式子可言, 就推出式子:类似coat,每个长度为i的计算i次. 再容斥下: F是方案数,还是求: 枚举分成的段数,枚举多少个超过i进行容斥: 突破口:有个n-i*k-1,意味着i*k<=n,这样的i和k暴力枚举一共nlogn复杂度! 提出来,考虑干掉j 强行推式子: 处理: (怎么看怎么也看不出什么道理的样子) 来找组合意义吧: 有n-ik个球,我们先从中选出j个…
I.あなたの蛙が帰っています   链接:https://www.nowcoder.com/acm/contest/85/I来源:牛客网     这个题有点意思,是卡特兰数,自行百度就可以.卡特兰数用处很多,买票问题,出栈问题,括号配对等.传送门:很厉害 这个题就是出栈问题,问你出栈的方式有多少种.因为第一个不能最先输出来,随便写写就好了. 找出来公式就是C(2n,n)-C(2n,n-1).对于这个题来说就是(C(2n,n)-C(2n,n-1)) - (C(2m,m)-C(2m,m-1)). 组合…
链接:https://www.nowcoder.com/acm/contest/73/B来源:牛客网 B.白兔的式子   时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld 题目描述 已知f[1][1]=1,f[i][j]=a*f[i-1][j]+b*f[i-1][j-1](i>=2,1<=j<=i). 对于其他情况f[i][j]=0 有T组询问,每次给出a,b,n,m,求f[n][m] mod…
下面我们来看一个容易让人蒙圈的问题:N的阶乘 mod P. 51Nod 1008 N的阶乘 mod P 看到这个可能有的人会想起快速幂,快速幂是N的M次方 mod P,这里可能你就要说你不会做了,其实你会,为什么呢,只要你明白快速幂的原理,你就会发现他们两个其实差不多是同一个问题. 重要原理:积的取模=取模的积再取模. 快速幂不过是一直乘的相同的的数,这里仅仅是改成乘以不同的数而已. 题目: 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %) 例如:n = 10, P…
1.gcd int gcd(int a,int b){ return b?gcd(b,a%b):a; } 2.扩展gcd )extend great common divisor ll exgcd(ll l,ll r,ll &x,ll &y) { if(r==0){x=1;y=0;return l;} else { ll d=exgcd(r,l%r,y,x); y-=l/r*x; return d; } } 3.求a关于m的乘法逆元 ll mod_inverse(ll a,ll m){ l…
问题一解法:     我们知道求N的阶乘结果末尾0的个数也就是说我们在从1做到N的乘法的时候里面产生了多少个10, 我们可以这样分解,也就是将从0到N的数分解成因式,再将这些因式相乘,那么里面有多少个10呢? 其实我们只要算里面有多少个5就可以了?     因为在这些分解后的因子中,能产生10的可只有5和2相乘了,由于2的个数是大于5的个数的,因此 我们只要算5的个数就可以了.那么这个题目就是算这些从1到N的数字分解成因子后,这些因子里面 5的个数.   Python代码 def factori…
Tom and matrix Problem's Link:   http://acm.hdu.edu.cn/showproblem.php?pid=5226 Mean: 题意很简单,略. analyse: 直接可以用Lucas定理+快速幂水过的,但是我却作死的用了另一种方法. 方法一:Lucas定理+快速幂水过 方法二:首先问题可以转化为求(0,0),(n,m)这个子矩阵的所有数之和.画个图容易得到一个做法,对于n<=m,答案就是2^0+2^1+...+2^m=2^(m+1)-1,对于n>m…
[本文链接] http://www.cnblogs.com/hellogiser/p/zero-count-of-N-factorial.html [题目] 问题1:‍给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0. 思路:这个主要是判断各个数字中5的个数,因为5和偶数相乘以后可以得到10,相当于在后面添加一个0. 问题2:求N!的二进制表示中最低位1的位置. 思路:乍一看,似乎,问题二与问题一没什么关系.然而,我们换一个角度思考,…
A Boring Question Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 156    Accepted Submission(s): 72 Problem Description       Input   The first line of the input contains the only integer T,(1≤T…
点击打开链接 阶乘因式分解(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 给定两个数n,m,其中m是一个素数. 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m. 注:^为求幂符号.   输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后的s行, 每行有两个整数n,m.  输出 输出m的个数 样例输入 3 100 5 16 2 1000000000 13 样例输出 24 15 83333329 比较水的题,不解…
3283: 运算器 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 184  Solved: 59[Submit][Status][Discuss] Description 操作有3种:   Input 第一行一个正整数N,描述数据组数. 接下来的N行,每行4个正整数Sum,y,z,p. Sum表述询问类型,如上题所述.对于第2种要求,若X不存在,则输出“Math Error”   Output   要求有N行输出,每行一个整数,为询问的答案. S…
[描述] N的阶乘写作N!表示小于等于N的所有正整数的乘积.阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了.你的任务是找到阶乘最后面的非零位.举个例子,5!=1*2*3*4*5=120所以5!的最后面的非零位是2,7!=1*2*3*4*5*6*7=5040,所以最后面的非零位是4.     [格式] PROGRAM NAME: rect4 INPUT FORMAT:(file rect4.in)   共一行,一个整数不大于4,220的整数N. OUTPUT…
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1732 给定我们一个n, 要找到两个数的集合,使得这些书的最小公倍数(LCM)为n,由于有很多这样的集合,我们要选出总和最小的,而且也只要输出总和就行了 数的最大公倍数是怎么求的?  是每个质因数指数最大的那个相乘而来的. 通过最小公倍数的求法,我们可以看出最小公倍数取决于每个质因子在各个数中…
描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?   输入 首行输入n,表示有多少组测试数据(n<10)随后n行每行输入一组测试数据 N( 0 < N < 1000000 ) 输出 对于每个数N,输出N!的(十进制)位数. 样例输入 3 1 3 32000 样例输出 1 1 130271 /* NYOJ69 阶乘数位长度 * 方法一: * 可设想n!的结果是不大于10的M次幂的数,即n!<…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4869 Turn the pokers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2001    Accepted Submission(s): 707 Problem Description During summer vacation…
方便复制 快速乘/幂 时间复杂度 \(O(\log n)\). ll nmod; //快速乘 ll qmul(ll a,ll b){ ll l=a*(b>>hb)%nmod*(1ll<<hb)%nmod; ll r=a*(b&((1<<hb)-1))%nmod; return (l+r)%nmod; } //快速幂 ll qpow(ll a,ll b){ ll res=1; while(b){ if(b&1)res=res*a%nmod; a=a*a%n…
原文链接http://www.cnblogs.com/zhouzhendong/p/8109156.html 题目传送门 - BZOJ1951 题意概括 求 GM mod 999911659 M=∑i|nC(n,i) N,G<=109 题解 我们发现999911659是一个素数,设为p. 费马小定理:对于任意正整数a,和素数p,有 ap-1 Ξ 1 (mod p) 由此可得, GM Ξ GM mod (p-1) (mod p) 这个可以用快速幂搞定,现在的问题就是如何计算M 我们研究p-1这个数…
题目来源 The 2018 ACM-ICPC China JiangSu Provincial Programming Contest 35.4% 1000ms 65536K Persona5 Persona5 is a famous video game. In the game, you are going to build relationship with your friends. You have N friends and each friends have his upper b…
/* 要求出[1,R]之间的质数会超时,但是要判断[L,R]之间的数是否是素数却不用筛到R 因为要一个合数n的最大质因子不会超过sqrt(n) 所以只要将[2,sqrt(R)]之间的素数筛出来,再用这些素数去筛[L,R]之间的合数即可 */ #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; #define ll long lon…
描述 给定 n, k,求一个最大的整数 m,使得 km 是 n! 的约数 输入 第一行两个正整数 n, k 2 ≤ n,k ≤ 109 输出 输出最大的 m 样例输入 5 2 样例输出 3 思路:我们知道一个素数在阶乘里的幂次就是一直除就好了. 这题通过率低,是因为直接把K拿来除了,注意这里要是素数才行. 所以我们分解求最小即可. #include<bits/stdc++.h> #define ll long long using namespace std; ll ans=; ll get(…
http://www.cnblogs.com/BLADEVIL/p/3490321.html http://www.cnblogs.com/zyfzyf/p/3997986.html 翻了翻题解,这两个合起来比较明白…… 题意:求1~n!中与m!互质的数的数量(mod R). ∵由欧几里得算法得gcd(a,b)=gcd(b,a%b) ∴gcd(a+b,b)=gcd(b,(a+b)%b)=gcd(b,a) 即 gcd(a,b)=gcd(a+b,b) 推广:gcd(a,b)=gcd(a+k*b,b)…
阶乘因式分解(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 给定两个数n,m,其中m是一个素数. 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m. 注:^为求幂符号.       输入 第一行是一个整数s(0<s<=100),表示测试数据的组数随后的s行, 每行有两个整数n,m.  输出 输出m的个数 样例输入 3 100 5 16 2 1000000000 13 样例输出 24 15 83333329 #include &…
(上不了p站我要死了,侵权度娘背锅) Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Input 3 2 Sample Output 6 HINT [样例说明] 假设原集合为{A,B,C} 则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,A…
1024: 末位零 Time Limit: 1 Sec  Memory Limit: 32 MB Submit: 60  Solved: 11 [Submit][Status][Web Board] Description 给定一个正整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0. 注意:N<=100,000,000 Input 第一行为N,表示有N个输入.接下来有N行,每一行包括一个正整数. Output 对于每个输入,每行输出结果 Sa…
题目: 题目描述 有 N 个(相同的)糖果,M 个(不同的)小朋友.M 和 N 满足:1≤M≤N≤100000(105).要求:1.每个小朋友都至少有一个糖果.2.不存在正整数 X(X>=2),使得每个小朋友的糖果数都是 X 的倍数.3.糖果不能剩余.求分糖方法总数.答案模 1000000007(109+7) 输入格式 第一行为数据组数:T<=100000.接下来 N 行,每行 2 个如上文所示的正整数 N,M. 输出格式 输出 T 行,每行一个整数,为答案.注意取模! 样例数据 1 输入 […
pid=4869" target="_blank">Turn the pokers 大意:给出n次操作,给出m个扑克.然后给出n个操作的个数a[i],每一个a[i]代表能够翻的扑克的个数,求最后可能出现的扑克的组合情况. Hint Sample Input: 3 3 3 2 3 For the this example: 0 express face down,1 express face up Initial state 000 The first result:00…
题目大意:$n$ 个点的完全图,点 $i$ 和点 $j$ 的边权为 $(i+j)^k$.随机一个生成树,问这个生成树边权和的期望对 $998244353$ 取模的值. 对于P5437:$1\le n\le 998244352,1\le k\le 10^7$. 对于P5442:$1\le n\le 10^4,\le k\le 10^7$. 其实也是一道比较简单的题.(所以就应该把这题和上一道原题调个位置) 考虑一条边在生成树中出现的概率,由于一共有 $\dfrac{n(n-1)}{2}$ 条边,一…
题意 求 $ \displaystyle \sum_{i=1}^n i^k \ mod (1e9+7), n \leq 10^9, k \leq 10^6$. CF622F 分析 易知答案是一个 $k+1$ 次多项式,我们找 $k+2$ 个值代进去,然后拉格朗日插值. $n+1$ 组点值对 $(x_i, y_i)$,得到 $n$ 次多项式 $f$ 的拉格朗日插值公式为: $$f(x) = \sum_{i = 0}^n y_i\prod_{j\not =i} \frac{x-x_j}{x_i-x_…