阶乘

摘要: // 阶乘#includeconst int maxn = 3000;int fac[maxn],len;void fact(int n){ int i,j; memset(fac,0,sizeof(fac)); fac[0]=1; for(i=2;i=0;j--) if(fac[j]) break; len=j+1;}void wofa(int n){ int i; fact(n); for(i=len-1;i>=0;i--) printf("%d",fac[i]); printf("\n");}int main() { int n; scanf 阅读全文
posted @ 2013-08-13 21:27 Amyc 阅读(140) 评论(0) 推荐(0) 编辑

矩阵相乘

摘要: //矩阵相乘 int temp[maxn][maxn]; INIT:; MODIFIED:const int maxn=101;void matMul(int b[][maxn]){ memset(temp,0,sizeof(temp)); for(int i=0;i<M;i++) for(int j=0;j<M;j++){ for(int k=0;k<M;k++) temp[i][j]+=a[i][k]*b[k][j]; } for(int i=0;i<M;i++) for(int j=0;j<M;j++) ... 阅读全文
posted @ 2013-08-13 21:26 Amyc 阅读(146) 评论(0) 推荐(0) 编辑

矩阵快速幂

摘要: //矩阵快速幂 INIT:xvoid matPow(){ matInit(); while(X>0){ if(X%2) matMul(ans); //ans=ans*a matMul(a); //a=a*a; X/=2; }} 阅读全文
posted @ 2013-08-13 21:25 Amyc 阅读(68) 评论(0) 推荐(0) 编辑

矩阵初始化

摘要: //矩阵初始化 int a[maxn][maxn],ans[maxn][maxn]; INIT:M; MODIFIED:const int maxn=101; void matInit(){ memset(a,0,sizeof(a)); memset(ans,0,sizeof(ans)); for(int i=0;i<M;i++) ans[i][i]=1; //构建单位矩阵 for(int i=0;i<M;i++) a[i][i]=a[(i+1)%M][i]=1; //MODIFIED} 阅读全文
posted @ 2013-08-13 21:24 Amyc 阅读(649) 评论(0) 推荐(0) 编辑

完全背包

摘要: //完全背包:val[maxv]={0}; INIT:bn,gv,b[bn],c[bn]; MODIFIED:const int maxv=10001; void cp(){ int i,j; for(i=0;i<bn;i++) { for(j=b[i];j<=gv;j++) { val[j]=max(val[j],val[j-b[i]]+c[i]); } } } 阅读全文
posted @ 2013-08-13 21:22 Amyc 阅读(99) 评论(0) 推荐(0) 编辑

01背包

摘要: //01背包for i=1..N for v=V..0 f[v]=max{f[v],f[v-c[i]]+w[i]}; 阅读全文
posted @ 2013-08-13 21:18 Amyc 阅读(71) 评论(0) 推荐(0) 编辑

二叉查找树

摘要: BSTNode * Minimum(BSTNode * node){ while(node->kid[0]!=nil) node=node->kid[0]; return node;}BSTNode * Maxmum(BSTNode * node){ while(node->kid[1]!=nil) node=node->kid[1]; return node;}BSTNode * Search(BSTNode * node,Int val){ // val) return node; if(valval) return Search(node->kid... 阅读全文
posted @ 2013-08-13 20:23 Amyc 阅读(183) 评论(0) 推荐(0) 编辑

算法清单

摘要: 查找树InsertDeleteSuccessorPredecessorSearch(Query)MinimumMaxmum知道算法看过源代码写过模版计算理论近似算法分支限界法概率算法启发式方法最小顶点覆盖旅行售货员问题 Christofide算法最小权重完美匹配集合覆盖二分图匹配最大匹配算法正向最大匹配算法逆向最大匹配算法双向匹配算法等匈牙利算法最大流 网络流KM组合优化旅行商问题加工调度问题Flow-ShopJob-Shop0-1背包问题装箱问题图着色问题聚类问题优化算法模拟退火算法遗传算法二分图networksimplexalgorithm/* 旅行商问题Traveling Sal... 阅读全文
posted @ 2013-08-13 18:49 Amyc 阅读(346) 评论(0) 推荐(0) 编辑

AVL平衡树

摘要: // AVLTree #include #include #include #include #include #include #includeusing namespace std; int cnt=0; #define abs(x) (((x)chi[0]=nil->chi[1]=nil->pa=nil; nil->bf=nil->cnt=0; nil->blank=nil->len=nil->hei=0; } inline AVLNode * CreatNode(AVLNode * &node,Int val,int cnt=1){ i 阅读全文
posted @ 2013-08-13 18:10 Amyc 阅读(120) 评论(0) 推荐(0) 编辑

二叉查找树

摘要: typedef int Int;struct BSTNode{ BSTNode *kid[2],pa; Int val; int cnt;}*root,*nil;nil=new BSTNode();root=nil;BSTNode * Search(BSTNode * node,Int val){ while(node!=nil && val!=node->val){ int drct=(valval)?0:1; node=node->kid[drct]; } return node;}BSTNode * Extrema(BSTNode * node,int drc 阅读全文
posted @ 2013-08-13 15:13 Amyc 阅读(142) 评论(0) 推荐(0) 编辑