![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法模板
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 · 78 阅读 · 0 评论 -
快速排序
//quick sort//author: jinyejun//date: 2014-11-4 8:30#include<cstdio>#define MAXN 1000int 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 · 82 阅读 · 0 评论 -
0/1 背包问题
/** ########################## 0/1 背包问题 ####################################### <=动态规划方程===========================================================> f[i][V] 表示当背包总共容量...2014-10-14 23:36:35 · 66 阅读 · 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 · 291 阅读 · 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 · 106 阅读 · 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 · 339 阅读 · 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 · 56 阅读 · 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 · 62 阅读 · 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 · 74 阅读 · 0 评论 -
DFS 模板
#include<cstdio>#include<cstring>#define MAXN 1000int 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 · 126 阅读 · 0 评论