算法模板
CSU_ACKEY
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
KMP 模板
void get_next(int* P,int* next) { int i=0,j=-1; next[0]= -1; while(i<=size_p) { if(j==-1||P[i]==P[j]) { i++;j++; next[i]=j; ...原创 2014-07-31 17:14:10 · 120 阅读 · 0 评论 -
快速排序
//quick sort //author: jinyejun //date: 2014-11-4 8:30 #include<cstdio> #define MAXN 1000 int arr[1000]; void swap(int i,int j); void quick_sort(int s,int t); int partion(int s,in...2014-11-04 08:58:08 · 130 阅读 · 0 评论 -
0/1 背包问题
/** ########################## 0/1 背包问题 ####################################### <=动态规划方程===========================================================> f[i][V] 表示当背包总共容量...2014-10-14 23:36:35 · 117 阅读 · 0 评论 -
棋盘覆盖问题
/** 棋盘覆盖问题 伪代码: chessBoard(int tr,int tc,int dr, int dc,int size) { if(size == 1) return; int s = size/2; int t = tile++; ...2014-10-12 16:53:27 · 349 阅读 · 0 评论 -
二路归并排序
/** 二路归并排序 */ #include<cstdio> //待排序测试的数组 int arry[] = {7,11,9,15,18,22,0,1,102,18,19}; void mergeSort(int arr[],int s,int t); void myMerge(int arr[],int s,int m,int t); voi...2014-10-12 12:59:46 · 151 阅读 · 0 评论 -
2/3的二分检索
/** 将数组分成1/3和2/3大小不等的两部分的二分检索算法 <==算法复杂度分析===== 最坏情况(可以利用判定树来求):(2/3)^time = n , time = O(log2/3 n); 最好情况:O(1); ======================> */ #include<cst...2014-10-12 11:55:15 · 400 阅读 · 0 评论 -
线段树区间更新
void build(int r,int L,int R) { if(L==R) sum[1] = 1; else{ int M = (L+R)/2; build(r*2,L,M); build(r*2+1,M+1,R); sum[r] = sum[r*2] + sum[r*2+1]; } ...2014-08-08 14:02:02 · 106 阅读 · 0 评论 -
线段树模板
int Max[MAXN]; //子区间中的最大值 int ql,qr,p,v; //ql:查询左边界,qr:查询右边界,p:更新点 v:更新值 //建立线段树 void build(int r,int L,int R) { //如果到了叶节点(区间长度为1),最大值当然是叶节点值; if(L==R) scanf("%d",Max+r); e...2014-08-08 11:40:09 · 103 阅读 · 0 评论 -
并查集模板
int father[MAXM]; void init() { for(int i=0;i<MAXM;i++) father[i] = i; } int find(int a) { return father[a]==a?a:father[a] = find(father[a]); } void add(int a,int b) { ...2014-08-06 10:00:34 · 120 阅读 · 0 评论 -
DFS 模板
#include<cstdio> #include<cstring> #define MAXN 1000 int map[MAXN][MAXN]; bool visit[MAXN][MAXN]; int n,m; int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}}; void DFS(int x, int y) { ...2014-11-25 08:59:47 · 190 阅读 · 0 评论
分享