摘要: dfs树:对图进行dfs时删除所有未经过的边形成的树 dfs序:对点dfs的顺序 对有向图进行dfs时遇到的边: ~树边:一般边,构成树 ~返祖边:指向祖先的边 ~横叉边:(从一个叉跳向另一个)指向搜索过的点的边 维护dfs的栈,树根到当前点的节点序列 dfn[u]:u的dfs序 low[u]:u通 阅读全文
posted @ 2022-02-11 14:45 yinfelix 阅读(39) 评论(0) 推荐(0)
摘要: 1.合并两个集合 2.查询一个点所在的集合 每个集合都是一棵数,代表点是根节点 合并:将一根的父亲设为另一个根 查询:找到所在树的根 优化: 路径压缩:查询根的时候将路径上所有点的父亲设为根 按秩合并:将高度低集合向高度高集合合并 不加优化:O(n) 路径压缩/按秩合并:O(logn) 路径压缩+按 阅读全文
posted @ 2022-02-11 11:17 yinfelix 阅读(62) 评论(0) 推荐(0)
摘要: struct node{ int id,dis; friend bool operator < (node x,node y){ //重载运算符 //<:bool类型,+:任何类型 //写参数,函数内写返回值 return x.dis>y.dis; } }; priority_queue<node> 阅读全文
posted @ 2022-02-10 16:37 yinfelix 阅读(28) 评论(0) 推荐(0)
摘要: 欧拉路径:经过图中所有边恰好一次的路径(一笔画) 欧拉回路:起点与终点相同 判断路径是否存在的方法: 欧拉回路 无向图:点度均为偶数 有向图:每个点入度出度相同 欧拉路径 无向图:点度均为偶数或仅有两个点为奇数 有向图:每个点入度和出度相同或有一点入度=出度+1,出度+入度+1,其余相等。 欧拉路径 阅读全文
posted @ 2022-02-10 15:54 yinfelix 阅读(68) 评论(0) 推荐(0)
摘要: 链式前向星 向x的链表中加入指向y,边权为z的边 用抽象的胡话形象的记法就是 void add(int x,int y,int z){ to[++cnt] = y; //记姓名 v[cnt] = z; //记年龄 nxt[cnt] = head[x]; // 报名表中记前员 head[x] = cn 阅读全文
posted @ 2022-02-10 10:44 yinfelix 阅读(24) 评论(0) 推荐(0)
摘要: 01背包问题: 现有n个物品要装进背包,背包容量为m,第i件物品的重量为w[i],价值为v[i],选择价值最高方案。 解法:枚举i,j设前i个物品和背包容量为j时可以获得的最大价值 第i件物品: 装 不装 ↓ ↓ dp[i][j] = max(dp[i-1][j],dp[i-1][j-w[i]]+v 阅读全文
posted @ 2022-02-09 16:39 yinfelix 阅读(59) 评论(0) 推荐(0)
摘要: 动态规划的两个重要步骤: 一、状态设计 二、状态转移方程 例 数字三角形:一只蚂蚁从n级数字三角形顶部走到底部,请找到这条路线,使走过的数字总和最大。 1.状态设计:f[i][j]表示i级第j个数字以下数字总和最大值 2.状态转移方程:f[i][j] = a[i][j] +max(f[i+1][j] 阅读全文
posted @ 2022-02-09 10:28 yinfelix 阅读(42) 评论(0) 推荐(0)
摘要: 1.area问题 纳尼?这难道就是大明湖畔的封闭曲线围面积问题?? #include<bits/stdc++.h> using namespace std; int a[11][11]; //输入 int tap[11][11]; //记录确定被围的点为1 , 不确定为0,确定不被围的点为-1; i 阅读全文
posted @ 2022-01-28 08:08 yinfelix 阅读(30) 评论(0) 推荐(0)
摘要: 1.括号匹配只记录一道题,要求括号包含顺序正确{【(《形式 #include<bits/stdc++.h> using namespace std; int main(){ int top[4] = {0}; //{ [ ( < int f = 1,n; string s; cin>>n; for( 阅读全文
posted @ 2022-01-26 16:32 yinfelix 阅读(44) 评论(0) 推荐(0)
摘要: 车厢调度的两种方法:1.依次判断是否是上个元素-1或比上个元素大,若不是则输出no 2.寻找不一定连续的(大,中,小)结构。 #include<bits/stdc++.h> #define enter printf("\n") #define n_times_a scanf("%d",&n);for 阅读全文
posted @ 2022-01-25 16:00 yinfelix 阅读(43) 评论(0) 推荐(0)