数论*
knownothing
这个作者很懒,什么都没留下…
展开
-
大数取余
//(a/b)%mod (a*b^(mod-2))%mod,mod为素数 (a%(mod*b)/b)%mod#include #include #define mod 5int main(){ int n,m; while(scanf("%d %d",&n,&m)!=EOF) { int t,tt; t=(n/m)%mod; tt=(n*m*m*m)%m原创 2012-12-17 03:07:58 · 2067 阅读 · 0 评论 -
codeforces 327C Magic Five 分数形式整数取余
#include #include #include #define mod 1000000007 __int64 pows(__int64 a,__int64 b){ __int64 s=1; while(b){ if(b&1) s=(s*a)%mod; a=(a*a)%mod; b=b>>1; } return s;}char a[100001];int原创 2013-07-15 18:50:05 · 1579 阅读 · 0 评论 -
UVA11388 11889 10943 10780 10892 11752 11076 11609 11489 10791 11461/LA 2889 2911 2756 数论基础题
//A UVA 11388 GCD LCM#include #include int main(){ int T; scanf("%d",&T); while(T--) { int l,g,m,a,b; scanf("%d%d",&g,&l); if(l%g!=0) printf("-1原创 2013-07-31 16:22:34 · 1403 阅读 · 0 评论 -
hdu 4483 Lattice triangle 数论之组合数
#include #include using namespace std;#define maxn 100001#define LL long longconst LL mod=1000000007;//最好用常量,我用宏定义,*6的时候爆了,怎么也找不出来LL x[maxn],y[maxn],z[maxn],phi[maxn],n;void init(){ LL i,j转载 2013-08-02 16:11:02 · 930 阅读 · 0 评论 -
lightoj 1179 - Josephus Problem 约瑟夫问题
#include #include #include #include using namespace std;int c[100],f[100001];int main(){ int T,tt=0; scanf("%lld",&T); while(T--) { int n,i,j,k,s=0; scanf("%d%d"原创 2013-07-28 10:55:50 · 1112 阅读 · 0 评论 -
light 1024 Eid 大数除法+多个数的最小公倍数
#include #include #include #include using namespace std;int c[10001];//记录最大因子个数int d[10001],m;//记录大数和数长void mul(int t)//大数乘法{ int i,j,k,temp=0; for(i=0;i<m;i++) d[i]*=t; fo原创 2013-07-28 17:25:46 · 1062 阅读 · 0 评论 -
UVA 11916 Emoogle Grid 数论
#include #include #include #include #include using namespace std;#define LL long long#define maxn 505const LL mod=100000007;LL n,m,k,b,r,x[505],y[505];set >mm;void gcd(LL a,LL b,LL &d,LL &x转载 2013-08-03 18:42:31 · 1019 阅读 · 0 评论 -
lightoj Basic Math 数论基础题 1414+1010+1020+1078+1116+1148+1179+1214+1275+1294+1297+1311+1323+1349+1354
//1008 - Fibsieve`s Fantabulous Birthday//1008#include #include #include #define LL long longint main(){ LL T,tt=0; scanf("%lld",&T); while(T--) { LL n,j,k,m,t,i;原创 2013-07-28 16:53:53 · 2023 阅读 · 0 评论 -
URAL 1903 Unidentified Ships 组合数
#include #include #include #include using namespace std;const int mod=1e9+7;#define maxn 5055#define LL __int64int c[maxn];int e[maxn][2600];void init(){ int i,j,k; __int64 sum;原创 2013-08-04 16:27:36 · 718 阅读 · 0 评论 -
UVALive/LA 5059 Play with Stones 组合游戏/SG定理
#include using namespace std;#define LL long longLL SG(LL x){ return x%2==0?x/2:SG(x/2);}int main(){ LL T; cin>>T; while(T--) { LL i,n,a,v=0; cin>>n;转载 2013-08-04 18:58:44 · 1228 阅读 · 0 评论 -
UVA 10561 Treblecross 组合游戏/SG定理
#include #include #include #include using namespace std;int sg[202];//sg[i]表示连续的x个空格子组成的棋盘的SG值int vis[202];void init(){ int i,j,k; sg[0]=0; sg[1]=sg[2]=sg[3]=1; for(i=4;i<=200;i++) { me原创 2013-08-06 10:01:03 · 1578 阅读 · 0 评论 -
UVA 12293 Box Game 组合游戏/SG定理+找规律
#include #include #include #include using namespace std;int sg[202];//sg[i]表示连续的x个空格子组成的棋盘的SG值int vis[202];void init()//SG定理{ int i,j,k; sg[1]=0; sg[2]=1; for(i=3;i<=200;i++) { memset(v原创 2013-08-06 10:52:16 · 1237 阅读 · 0 评论 -
UVA 11021 Tribbles 概率问题+递推
#include #include #include #include using namespace std;double p[1001];double f[1001];int main(){ int T,tt=0; scanf("%d",&T); while(T--) { int i,j,n,k,m; scanf(原创 2013-08-06 20:40:03 · 891 阅读 · 0 评论 -
Poj 3150/UVA 1386/UVALive 3704 Cellular Automaton 循环矩阵
#include #include #include using namespace std;#define LL long longLL n,m,d,k,e[505],s[505];LL mul(LL a[],LL b[])//循环矩阵的乘法{ LL i,j,c[505]; for(i=0;i<n;i++) { c[i]=0;原创 2013-08-08 19:20:47 · 1292 阅读 · 0 评论 -
hdu 4506 小明系列故事——师兄帮帮忙 找规律+快速幂
#include #include #include #include #include #include using namespace std;#define LL __int64#define maxn 11111const LL mod=1e9+7;LL a[maxn],ans[maxn];LL pow_mod(LL a,LL b){ LL s=1;原创 2013-08-19 15:28:26 · 965 阅读 · 0 评论 -
UVA 11722 Joining with Friend 图形面积+概率
#include #include using namespace std;int main(){ int T,tt=0; scanf("%d",&T); while(T--) { int a[10],t1,t2,s1,s2,w,i,j,k,p,x,y; double s=0,sum;//s记录非阴影面积 sc原创 2013-08-07 10:12:16 · 1730 阅读 · 0 评论 -
UVA 11762 Race to 1 dp+概率
#include #include #include #include using namespace std;const int maxn=1e6+10;const int maxc=1e5;double f[maxn];int prime[maxc],num,vis[maxn];void sieve(int n) //筛素数{ int m=(int)sqrt(n+转载 2013-08-07 12:50:21 · 1162 阅读 · 0 评论 -
UVA 11427 Excpect the Expected 期望+递推
#include #include #include #include using namespace std;double f[111][111];//f[i][j]表示玩了i盘,共赢了j盘的概率int main(){ int T,tt=0; scanf("%d",&T); while(T--) { int i,j,k,n,m,x,y转载 2013-08-07 11:03:06 · 1635 阅读 · 0 评论 -
UVA 11077 Find the Permutations 置换+递推
#include #include #include using namespace std;#define LL unsigned long longLL f[33][33];int main(){ int n,k; memset(f,0,sizeof(f)); f[1][0]=1; for(int i=2;i<=21;i++) {转载 2013-08-07 16:09:54 · 798 阅读 · 0 评论 -
UVA 12103/poj 3128/hdu 1975/UVALive 3641 Leonardo's Notebook 置换
#include #include using namespace std;int c[30],vis[30];char a[30];int main(){ int T; cin>>T; while(T--) { int i,j,k,t,flag=0; cin>>a; memset(c,0,sizeof(c转载 2013-08-07 15:36:56 · 1156 阅读 · 0 评论 -
hdu 4291 A Short problem 矩阵+循环
#include #include #include #include #include using namespace std;#define LL long longLL mod;LL a[3]={183120,222222224,1000000007};struct matrix{ LL f[2][2];};matrix mul(matrix a,matrix原创 2013-08-21 09:41:58 · 1310 阅读 · 0 评论 -
hdu 2256 Problem of Precision 矩阵
#include #include #include #include #include using namespace std;#define LL long longconst int mod=1024;struct matrix{ int f[2][2];};matrix mul(matrix a,matrix b){ matrix c; mem原创 2013-08-21 10:27:57 · 997 阅读 · 0 评论 -
hdu 2604 Queuing 矩阵
#include #include #include #include #include using namespace std;#define LL long longint mod;int a[4][4]={ { 1, 1, 1, 1}, { 1, 1, 0, 0}, {-1, 0,-1, 0},原创 2013-08-21 10:53:12 · 891 阅读 · 0 评论 -
hdu 4686 Arc of Dream 杭电多校第九场1001 矩阵
#include #include #include #include #include using namespace std;#define LL __int64const LL mod=1e9+7;LL n;struct matrix{ LL f[5][5];};matrix mul(matrix a,matrix b){ matrix c;原创 2013-08-20 17:06:27 · 1564 阅读 · 1 评论 -
hdu 3893 Drawing Pictures 矩阵乘法
#include #include #include #include #include using namespace std;#define LL __int64const LL mod=112233;LL a[14][14]={ { 0, 1, 1, 1, 1, 1,1,0,0,0,0,0,0,0}, { 1,原创 2013-08-20 19:52:18 · 1085 阅读 · 0 评论 -
hdu 1757 A Simple Math Problem 矩阵基础题
#include #include #include #include #include using namespace std;#define LL __int64//const LL mod=9973;LL n,mod;struct matrix{ LL f[10][10];};matrix mul(matrix a,matrix b){ LL i,j,原创 2013-08-20 20:18:54 · 930 阅读 · 0 评论 -
hdu 1575 Tr A 矩阵基础题
#include #include #include #include #include using namespace std;#define LL __int64const int mod=9973;int n;struct matrix{ int f[10][10];};matrix mul(matrix a,matrix b){ int i,j,k;原创 2013-08-20 20:01:20 · 1057 阅读 · 0 评论 -
hdu 2254 奥运 矩阵求路径方案数
#include #include #include #include #include #include #include using namespace std;#define LL long long#define maxn 35mapmm;const int mod=2008;struct matrix{ int f[maxn][maxn];};matr原创 2013-08-21 18:55:44 · 1180 阅读 · 0 评论 -
hdu 2276 Kiki & Little Kiki 2 矩阵/循环矩阵
#include #include #include #include #include using namespace std;#define LL long longconst int mod=2;int n;struct matrix{ int f[101][101];};matrix mul(matrix a,matrix b){ matrix c;原创 2013-08-21 19:31:35 · 1028 阅读 · 0 评论 -
fzu 1692 Key problem 循环矩阵
#include #include #include #include #include using namespace std;#define LL __int64LL mod,n;LL mul(LL a[],LL b[])//循环矩阵的乘法{ LL i,j,c[101]; for(i=0;i<n;i++) { c[i]=0;原创 2013-08-21 20:33:00 · 1003 阅读 · 0 评论 -
hdu 4655 Cut Pieces/杭电多校第六场1001 找规律,或者dp
#include #include #include #include using namespace std;#define LL __int64const LL mod=1e9+7;LL a[1000001],b[1000001];LL pows(LL a,LL b){ LL s=1; a=a%mod; while(b) { i原创 2013-08-08 18:22:10 · 1427 阅读 · 0 评论 -
hdu 3117 Fibonacci Numbers 矩阵+斐波那契数列通项公式
#include #include #include #include #include using namespace std;#define LL long long#define maxn 2const int mod=10000;struct matrix{ int f[4][4];};matrix mul(matrix a,matrix b){ m原创 2013-08-21 16:00:07 · 1548 阅读 · 0 评论 -
hdu 1588 Gauss Fibonacci 矩阵
#include #include #include #include #include using namespace std;#define LL long longLL maxn;LL mod;/*LL a[maxn][maxn]={ {1,0,0,0}, {1,3,1,0}, {0,2,0,1},原创 2013-08-21 14:55:16 · 939 阅读 · 0 评论 -
poj 3735 Training little cats 矩阵
#include #include #include #include #include #include using namespace std;#define LL __int64LL n;struct matrix{ LL f[101][101];};matrix mul(matrix a,matrix b){ LL i,j,k; matrix原创 2013-08-22 10:49:55 · 1075 阅读 · 0 评论 -
hdu 2294 Pendant dp+矩阵
#include #include #include #include #include #include using namespace std;#define LL __int64const LL mod=1234567891;LL n;struct matrix{ LL f[31][31];};matrix mul(matrix a,matrix b){原创 2013-08-22 20:36:31 · 1128 阅读 · 0 评论 -
hdu 4704 Sum/杭电2013年多校第十场1009 快速幂+循环
#include #include #include #include #include #include using namespace std;#define LL __int64const LL mod=1e9+7;LL pow_mod(LL a,LL b){ LL s=1; while(b) { if(b&1)原创 2013-08-22 17:01:11 · 948 阅读 · 0 评论 -
hdu 4705 Y/杭电2013年多校第十场1010 组合
#pragma comment(linker, "/STACK:16777216")#include #include #include #include #include #include using namespace std;#define LL __int64#define maxn 100011const int mod=1e9+7;vectore[maxn];i原创 2013-08-22 17:02:12 · 1050 阅读 · 0 评论 -
zoj 2853 Evolution 矩阵
#include #include #include #include #include #include using namespace std;const double eps=1e-14;int n;struct matrix{ double f[202][202];}c;void mul(matrix &a,matrix b)//不能用matrix返回,是由于原创 2013-08-22 09:38:24 · 1296 阅读 · 0 评论 -
zoj 2974 Just Pour the Water 矩阵
#include #include #include #include #include #include using namespace std;#define LL long longconst double eps=1e-14;int n;struct matrix{ double f[22][22];}c;void mul(matrix &a,matrix原创 2013-08-22 10:08:45 · 1174 阅读 · 0 评论 -
hdu 4696 Answers/杭电2013年多校第十场 循环
#include #include #include #include #include #include #include using namespace std;#define LL __int64#define maxn 100011int t[maxn],c[maxn],n,q,m[maxn],vis[maxn],a[maxn],b[maxn];map >nn;ma原创 2013-08-22 17:04:01 · 1089 阅读 · 0 评论