模板
Y_AOZHEN
这个作者很懒,什么都没留下…
展开
-
BFS/BFS模板
DFS:#include<bits/stdc++.h> using namespace std; #define max 100 bool vis[max][max]; int mp[max][max]; int dir[4][2]={-1,0,0,1,1,0,0,-1}; void dfs(int x,int y) { vi...原创 2018-03-29 22:56:52 · 267 阅读 · 0 评论 -
二叉堆
int heap[MAX], sz = 0;void push(int x) { int i = sz++; while (i > 0) { int p = (i - 1) / 2; if (heap[p] <= x) break; heap[i] = heap[p]; i = p; } heap[i] = x;}int po...原创 2019-03-13 15:21:46 · 126 阅读 · 0 评论 -
最小生成树
1.Prim算法 priority_queue维护: 可以检测图是不是连通的struct edge { int to, cost; // 终点 距离};typedef pair<int , int> p; // first 是距离 second 目标顶点int V; // 顶点数vector <edge> G[MAX_V]; //...原创 2019-03-18 17:32:14 · 150 阅读 · 0 评论 -
最短路
1. Bellman_ford算法 **********求最短路struct edge {int from, to, cost;};edge es[MAX_E]; // 边int d[MAX_V]; // 最短距离int V, E;void Bellman_ford(int s) { for (int i = 0; i < V; i++) { d[i] = ...原创 2019-03-16 14:34:39 · 157 阅读 · 0 评论 -
DFS+染色(二分图)
DFS + 染色(二分图):vector<int> G[MAX_V];int V;int color[MAX_V] = {0}; // 染色 1 -1bool dfs(int v, int c) { color[v] = c; for (int i = 0 ; i < G[v].size(); i++) { if (color[G[v][i]] =...原创 2019-03-16 08:48:00 · 553 阅读 · 0 评论 -
图
1. 邻接矩阵vector<int> G[MAX_V];/*边上有属性的情况struct edge {int to, cost;};vector<edge> G[MAX_V];*/int main() { int V, E; cin >> V >>E; for (int i = 0; i < E; i++) { ...原创 2019-03-16 08:18:42 · 137 阅读 · 0 评论 -
并查集
int par[MAX];int rank[MAX]; // 树的高度void init(int n) { for (int i = 0; i < n; i++) { par[i] = i; rank[i] = 0; }}int find(int x) { int px = x, i; while (px != par[px]) { px ...原创 2019-03-15 07:38:52 · 132 阅读 · 0 评论 -
二叉搜索树
struct node { int val; node *lch, *rch;};node *insert (node *p, int x) { if (p == NULL) { node *q = new node; q->val = x; q->lch = q->rch = NULL; return q; } else...原创 2019-03-14 09:48:28 · 125 阅读 · 0 评论 -
背包
01背包:逆序#define M 1005int dp[M];int v[M], w[M], W, N; // value weight void bag01 (int v, int w) { for (int i = W; i >= w; i--) { dp[i] = max(dp[i - w] + v, dp[i]); }}完全背包:顺序for(int...原创 2018-04-22 22:40:55 · 157 阅读 · 0 评论 -
算法笔记
1#include<functional>sort(a,a+n,less<int>());//内置类型的由小到大排序greater<int>();作用相当于 bool cmd();2#include <bitset> string s; s = bitset<8>(a[i]).to_string(); //...原创 2019-03-13 15:40:52 · 399 阅读 · 0 评论