
知识清单
Sensente
满船清梦压星河
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最小生成树 学习笔记
一些概念 树:无圈无环无向图 生成树:走过所有点的树 最小生成树:在树的边有权的时候,走过的边加权和最小的生成树 最小生成树的两个算法 第一个 Kruskal 基于贪心策略,不能处理含有负权的树,又被称作加边法。 基本操作是将边权从小到大排列,将每个结点看作独立的树,每次将两颗树合并。 第二个Prim 又称加点法,每次选择代价最小的点加入,逐渐扩张到整个图。 ...原创 2019-10-10 23:37:25 · 268 阅读 · 0 评论 -
图论——二分图
一、基本知识 /*二分图 * 什么是二分图 : 可以将图中的点划分为两个集合 且集合内部没有边相连 * 匹配: 一个匹配是一个边的集合 其中任意两条边都没有公共顶点。 * 最大匹配 : 匹配边数最多的匹配 * 交替路:从未匹配的点出发 * 增广路:从未匹配的点出发,走交替路 * 增广路性质: 长度是奇数 * 匈牙利算法 二分图最大匹配 * 带权二分图最大权完备匹配 KM *...原创 2019-10-02 11:44:56 · 424 阅读 · 0 评论 -
图论——最短路算法学习笔记
最短路算法 1.FLOYD算法 多源最短路 预处理: 二维数组储存两点之间的边距离,初始化为正无穷即可。自己到自己为0; 核心代码: int inf = 999999; for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(e[i][k]...原创 2019-03-29 23:05:28 · 363 阅读 · 0 评论 -
离散数学——图论笔记
Reference:《现代图论》 ——北京航空航天大学出版社 图的基本概念 1.1图的定义 图是一个三元组,记作G=<V,E,φ> 其中,V称为顶点集,E称为边集,φ称为E->V*V(笛卡尔积)的对应关系。 1.1.1其他定义 邻接结点:关于同一条边的两个结点 孤立结点:不与任何结点相连接的结点(度数为0) 邻接边:关联于同一个结点的两条边 环:两端点...原创 2019-09-16 15:54:37 · 4320 阅读 · 0 评论 -
有向无环图(DAG)部分算法
补充图的链式前向星: 参考:https://blog.youkuaiyun.com/acdreamers/article/details/16902023 总结: u——起点 v——终点 w——权值 head[i]存放以i为起点的最后一条边存储的位置 len[i]来记录所有以i为起点的边在数组中的存储长度 edge[i].next表示与第i条边同起点的上一条边的存储位置 const int N ...原创 2019-09-16 11:12:04 · 951 阅读 · 0 评论 -
动态规划 状压DP
一、二进制基础 计算:主要有与&,或|,异或^等。 &:两者均为1则1,否则为0 |:两者均为0则0,否则为1 ^:两者相同即为0,否则为1 部分重要计算: 1.判断数字x二进制第i位是否等于1 if(((1<<(i−1))&x)>0) 解释:将1左移i-1位,即1在第i位上,将其与x进行与运算判断是否大于0即判断是否为1 2.将数字x二进...原创 2019-10-13 20:13:23 · 260 阅读 · 0 评论 -
母函数 学习笔记
组合数学——生成函数 参考: 1.http://www.wutianqi.com/blog/596.html 2.https://www.cnblogs.com/linyujun/p/5207730.html 个人理解: 用多项式乘法表示某种组合的可能的次数。 模版1: #include using namespace std; // Author: Tanky...原创 2019-10-13 20:18:06 · 194 阅读 · 0 评论 -
括号匹配代码备份
#include<iostream> #include<stack> #include<cstring> using namespace std; char a[50005]; stack<int> s; int ans[50005]; bool f; int len; int main(){ cin>>a; len=strl...原创 2019-06-20 10:36:51 · 159 阅读 · 0 评论 -
背包问题常见模版
1 01背包问题 当前有N件物品和一个V的背包,第i个物品的体积为C(i),价值为w(i) 每件物品只能选择放或者不放 模版 #include <iostream> #include <cstring> using namespace std; int dp[21][1010]; int w[21],c[21]; int main() { int N,V;...原创 2019-03-21 21:36:58 · 241 阅读 · 0 评论 -
动态规划常见模版
考前抱佛脚系列 动态规划常见模版 1 最大子段和 #include <iostream> #include <algorithm> using namespace std; const int inf = 0x7fffffff; int num[101]; int main() { int N; cin>>N; for(int i...原创 2019-03-21 21:30:34 · 509 阅读 · 0 评论 -
蓝桥杯备战知识点
一、STL&特殊头文件函数 1. lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。 upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。 示例...原创 2019-03-24 07:07:27 · 2323 阅读 · 0 评论