poj 3146 Interesting Yang Hui Triangle(lucas定理的应用)
来源:互联网 发布:陌陌八格切图软件 编辑:程序博客网 时间:2024/06/05 09:24
题意:杨辉三角第n+1行有多少数不被p整除??
解析:
lucas定理:设p为质数,a,b为两正整数,且a,b在p进制下表示为 a=(ak……,a0),b=(bk……,b0) 0=<ai,bi<p
证明 c[a,b]=c[ak,bk]*……*c[a0,b0](mod p)
证:
p为质数时易证 (1+x)^p=1+x^p(mod p)
(1+x)^a=(1+x)^(ak*p^k)……(1+x)^(a0) (mod p)
=(1+x^(p^k))^ak……(1+x)^a0(mod p) (1)
x^b在(1)右边式子的系数为c[ak,bk]*……*c[a0,b0]。
从而的证 c[a,b]=c[ak,bk]*……*c[a0,b0](mod p)
根据这个结论 我们可知c[a,b]=0(mod p) 当且仅当 存在bi>ai,而我们知道题目所求的bi是从c(n,0)一直到c(N,N),所以包括所有的ai ,而对于其中的一个b有 ai+1中取法, 所有的即为 TT(ai+1)
所以c[n,m]不被p整除的数有 TT(ai+1) (0=<i<=k)个。
#include <functional>#include <algorithm>#include <iostream>#include <fstream>#include <sstream>#include <iomanip>#include <numeric>#include <cstring>#include <cassert>#include <cstdio>#include <string>#include <vector>#include <bitset>#include <queue>#include <stack>#include <cmath>#include <ctime>#include <list>#include <set>#include <map>using namespace std;#define PI acos(-1.0)typedef long long LL;typedef unsigned long long ULL;//constconst int N=200010;const int INF=0x3f3f3f3f;const int MOD=1e9+7,STA=8000010;//const LL LNF=1LL<<60;const double EPS=1e-8;const double OO=1e15;const int dx[4]={-1,0,1,0};const int dy[4]={0,1,0,-1};const int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//Daily Use ...inline int sign(double x){return (x>EPS)-(x<-EPS);}template<class T> T gcd(T a,T b){return b?gcd(b,a%b):a;}template<class T> T lcm(T a,T b){return a/gcd(a,b)*b;}template<class T> inline T lcm(T a,T b,T d){return a/d*b;}template<class T> inline T Min(T a,T b){return a<b?a:b;}template<class T> inline T Max(T a,T b){return a>b?a:b;}template<class T> inline T Min(T a,T b,T c){return min(min(a, b),c);}template<class T> inline T Max(T a,T b,T c){return max(max(a, b),c);}template<class T> inline T Min(T a,T b,T c,T d){return min(min(a, b),min(c,d));}template<class T> inline T Max(T a,T b,T c,T d){return max(max(a, b),max(c,d));}int main(){ LL p,n,res; int t=1; while(~scanf("%lld%lld",&p,&n)&&p) { res=1; while(n) { res=res*(n%p+1)%10000; n/=p; } printf("Case %d: %04lld\n",t++,res); } return 0;}
- poj 3146 Interesting Yang Hui Triangle(lucas定理的应用)
- poj 3146 Interesting Yang Hui Triangle (Lucas定理)
- LA3700 Interesting Yang Hui Triangle(Lucas定理)
- poj 3146/hdu 3304/uva 1384 Interesting Yang Hui Triangle Lucas定理
- HDU3304 POJ3146 Interesting Yang Hui Triangle Lucas定理
- POJ 3146 Interesting Yang Hui Triangle
- POJ 3146 Interesting Yang Hui Triangle 笔记
- HDU 3304 Interesting Yang Yui Triangle lucas定理
- hdu3306Interesting Yang Yui Triangle+LUCAS定理
- POJ 3146 & HDU 3304 Interesting Yang Yui Triangle(杨辉三角)
- Lucas定理的应用
- Lucas定理的应用
- poj 3146 Lucas定理的使用
- hdu 3304 Interesting Yang Yui Triangle
- FZU 2020 组合(Lucas定理的应用)
- HDU 3037 Saving Beans(Lucas定理的直接应用)
- poj Binomial Coefficients (Lucas定理)
- HDU4349—Lucas定理的应用
- java读写property文件
- android Jni NDK开发环境搭建及其简单实例的编写
- 内存管理、内存分配malloc、free、realloc,printf小结
- A*算法解决八数码问题
- FreeModbus--完全分析--系列1
- poj 3146 Interesting Yang Hui Triangle(lucas定理的应用)
- java学习之路-----设计模式---工厂模式
- FastJson关于java的使用
- Android 在开发环境中已更换图片 但运行结果的图片仍为旧图片
- jQuery中的this与$(this)
- android service 的简单实例 binder service
- ARM流水线(pipeline)
- Android ListView onScroll NullPointerException ListView滚动崩溃
- 【人生九面,面面皆需度】