
模板
寒萧北决风
越努力越幸运!
展开
-
【模板】最长递增公共子序列
#include #include #include using namespace std; int n,m,a[505],b[505],dp[505][505]; int LICS() { int MAX,i,j; memset(dp,0,sizeof(dp)); for(i = 1; i<=n; i++)原创 2017-09-13 19:33:06 · 182 阅读 · 0 评论 -
【模板】最长递增子序列
#include #include #include using namespace std; int a[1005],dp[1005],n; int LIS() { int i,j,ans,m; dp[1] = 1; ans = 1; for(i = 2;i<=n;i++) {原创 2017-09-13 19:35:08 · 174 阅读 · 0 评论 -
【模板】最长公共子序列
#include #include #include using namespace std; char s1[1000],s2[1000]; int len1,len2,dp[1000][1000],mark[1000][1000];//如果数据太大,dp数组可以考虑滚动数组 void LCS() { int i,j; mem原创 2017-09-13 19:36:27 · 200 阅读 · 0 评论 -
【模板】BFS
#include #include #include using namespace std; struct node { int x,y,step; }; char map[105][105]; int vis[105][105]; int to[4][2]= {1,0,-1,0,0,1,0,-1}; int n,m,sx,s原创 2017-09-13 19:37:39 · 194 阅读 · 0 评论 -
【模板】各种欧几里得
int gcd(int n,int m)//n>m { //最大公约数 int r; while(m) { r = n%m; n = m; m = r; } return n; } int kgcd(int a,int b) { if原创 2017-09-13 19:39:02 · 231 阅读 · 0 评论 -
【模板】并查集
int find(int x) { int r = x; while(father[r]!=r) r = father[r]; return r; } /* int find(int x) { if(father[x] == x) return x; else return father[x]原创 2017-09-13 19:40:28 · 239 阅读 · 0 评论