模版总结
文章平均质量分 57
Kefault
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
归并排序
void merge(int Array[],int l,int m,int r){ int temp[1000]; int i=l,j=m+1,k=0; while(i<=m&&j<=r) { if(Array[i]<=Array[j]) { temp[k++]=Array[i];原创 2014-08-05 19:17:21 · 703 阅读 · 0 评论 -
矩阵快速幂
struct mat //矩阵的定义{ __int64 t[10][10]; void set() { memset(t,0,sizeof(t)); }} a,b,c;mat multiple(mat a,mat b,int n,int p) //矩阵相乘函数{ int i,j,k; mat temp;原创 2014-08-08 20:35:54 · 689 阅读 · 0 评论 -
二分图最大匹配
int dfs(int p){ int i,t; for(i=0;i<m;i++) if(map[i][p]&&!chk[i]) { chk[i]=1; t=match[i]; match[i]=p; if(t==-1||dfs(t)) return 1; ma原创 2014-08-08 20:34:19 · 725 阅读 · 0 评论 -
sg函数
两种方法:1.dfs求法int mex(int n){ if(sg[n]!=-1) return sg[n]; int temp; bool vis[N]; memset(vis,false,sizeof(vis)); for(int i=0;i=arr[i];i++) { temp=n-arr[i]; s原创 2014-09-05 21:23:35 · 971 阅读 · 0 评论 -
高斯消元
#include #include #include #include using namespace std;int a[40][40],x[40];//系数矩阵,解数组int equ,var;//方程数,变元数void Debug(){ for(int i=0;i<equ;i++) { for(int j=0;j<=var;j++)原创 2014-08-24 22:13:35 · 935 阅读 · 0 评论 -
线段树模版
#include #include #include #include #include #include #include #include #define maxn 8080#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define ALL %I64dusing namespace std;typedef long原创 2014-08-16 11:53:35 · 950 阅读 · 0 评论 -
堆
堆是一个完全二叉树,可以由一维数组来实现。堆中数据是局部有序的。堆分为两种:最大值堆和最小值堆。堆的两个基本操作:1)堆的最高优先级元素的删除:1.直接删除根 2.用最后一个元素来代替根 3.将堆从根开始向下调整2)元素插入:1.在数组的最后插入一个元素 2.从末尾开始向上调整模板(以最小堆为例)://堆的向下调整void Down(int father){原创 2015-03-20 11:19:03 · 548 阅读 · 0 评论 -
最长公共子串和最长公共子序列(LCS)
int dp[2][100010];/*字符串读入方式:cin>>&str1[1]>>&str2[1];*/int lcs(char str1[],char str2[]){ int len1=strlen(&str1[1]); int len2=strlen(&str2[1]); memset(dp,0,sizeof(dp)); //采用滚动数组,节原创 2016-09-10 22:31:28 · 443 阅读 · 0 评论 -
next数组
示例图如下:详解及代码://好久没搞了,全都还回去了,以后还是要面试的//所以又回顾了下,已经不知道是第多少次了//我们知道的是,当匹配串和原串匹配失败后//可以回到匹配串的第一个字符进行匹配//然而next数组是怎么做的呢?//next数组就是当与原串进行匹配失败时//匹配串要回到前面的位置的一个集合void getNext(char s[]){原创 2016-09-17 23:46:53 · 535 阅读 · 0 评论
分享