![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
CharlieBrownn
八重樱花繁且枝盛,君需记累瓣必偿情。
展开
-
dijkstra/SPFA/floyd
朴素版本void dijkstra(int s){ int vis[n]; memset(vis,0,sizeof(vis)); for(int i=1;i<=n;i++) { dis[i]=m[s][i]; } dis[s]=0; vis[s]=1; int now; for(int j=2;j<=n;j++) { int mindis=...原创 2018-06-20 20:56:26 · 186 阅读 · 0 评论 -
最大网络流
朴素易懂 二维数组建图版本#include <iostream>#include <queue>using namespace std; const int N = 210;const int INF = 0x7FFFFFFF;int n,m,map[N][N],path[N],flow[N],start,end;queue<int> q;i...原创 2018-06-21 21:45:58 · 129 阅读 · 0 评论 -
二分LIS
int Lis(int n,int a[maxn]){ int mid,len,low,high; len=1; dp[1]=a[1]; for(int i=2;i<=n;i++) { low=1; high=len; while(low<=high) { mid=(low+high)/2; if(dp[mid]<a[i]) ...原创 2018-06-15 21:23:50 · 218 阅读 · 0 评论 -
LCS
#include<bits/stdc++.h>using namespace std; int dp[1000][1000];int main(){ string a;string b; while(cin>>a>>b) { memset(dp,0,sizeof(dp)); int lena=a.le...原创 2018-06-15 21:56:24 · 251 阅读 · 0 评论 -
并查集
初始化pre数组,即父节点。void init(){for(int i=1;i<=MAX;i++)//n表示输入的结点的个数{ pre[i]=i;//将每一个结点的前导点设置为自己 }}带参数的初始化。void init(int n){for(int i=1;i<=n;i++)//n表示输入的结点的个数{ pre[i]=i;//将每一个结点的前导点原创 2018-02-06 22:25:53 · 154 阅读 · 0 评论 -
大数幂运算(模板)
a^nstring powint(int a,int n)//类似于字符串乘法{ string result = "1"; for (int i = 0; i < n; i++) { string tmp=""; int sum = 0, add = 0; for (int j = result.size() - ...原创 2018-08-22 19:18:11 · 554 阅读 · 0 评论 -
线段树
#include<bits/stdc++.h>using namespace std;const int maxn=100050; struct node{ int l,r; int sum; int lazy; }tree[maxn<<2];void push_up(int now){//视题目而定 tree[now].sum...原创 2018-09-15 09:48:01 · 113 阅读 · 0 评论 -
鬼才写的矩阵快速幂
#define MS(x) memset(x,0,sizeof(x));typedef int ll;//矩阵计算数值该取什么单位才不会爆//int mod=10;//模int mod;const int maxsize = 40;//矩阵的最大尺寸int calsize;//计算的大小struct matrix{ ll mat[maxsize][maxsize]; matr...原创 2018-09-20 16:53:45 · 129 阅读 · 0 评论 -
矩阵快速幂——循环矩阵
ll mul(ll a[maxsize],ll b[maxsize]){ ll c[maxsize]; memset(c,0,sizeof c); for(int i=0;i<n;i++) for(int j=0;j<n;j++) c[i]+=a[j]*b[(i-j+n)%n]; //模 for(int i=0;i<n;i++) b[i]=c[i...原创 2018-09-21 19:43:55 · 326 阅读 · 0 评论