图论-图的存储方式
摘要:图的存储方式: 1,数组表示法: 用两个数组来存储图的信息 顶点表:记录各个顶点信息的 邻接矩阵:表示各个顶点之间的关系(有关为1,无关为0) 注:无向图的邻接矩阵是对称的,有向图的邻接矩阵可能是不对称的。 无向图的邻接矩阵 结点i的度=邻接矩阵中第i行或第i列之和 存储压缩:上三角矩阵或下三角矩阵
阅读全文
posted @
2020-05-01 13:50
mmn
阅读(562)
推荐(0)
图论-拓扑排序
摘要:学离散的偏序关系时的一个应用, 问题:小方准备组织一次演讲比赛,有如下环节(未排序): - 进行彩排 - 确定演讲主题 - 租借服装 - 确定比赛时间 - 确定比赛地点 - 确定参赛人员 - 申请经费 - 确定嘉宾人选 - 购买奖品,装饰物 - 比赛啦~ 但是: - 确定演讲主题之后才能确定比赛时间
阅读全文
posted @
2020-04-30 19:56
mmn
阅读(372)
推荐(0)
树状数组(板子)
摘要:树状数组, 1,单点修改,区间查询;例题 code: 主要操作: int lowbit(int x) { return x&(-x); } void build(int x,int k) { for(int i=x; i<=n; i+=lowbit(i)) tree[i]+=k; } int qua
阅读全文
posted @
2020-04-21 22:42
mmn
阅读(167)
推荐(0)
RMQ倍增板子(区间最值查询问题)(静态)
摘要:找某个区间内的最大最小值; 思想:动态规划 用f【i】【j】表示以第i个数为起点,往后连续2^j个数中的最大值; log数组向下取整; code: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int
阅读全文
posted @
2020-04-18 17:42
mmn
阅读(201)
推荐(0)
唯一分解定理(欧几里得)
摘要:唯一分解(算数基本定理);任何一个大于1的自然数N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积P1^a1*P2^a2*...Pn^an,这里P1<P2<P3......<Pn均为质数,其中指数ai是正整数。这样的分解称为 N 的标准分解式。最早证明是由欧几里得给出的。(扩展:交换代数) 例
阅读全文
posted @
2020-04-18 00:06
mmn
阅读(998)
推荐(0)
板子,单源最短路+堆优化
摘要:#include<iostream> #include<cstdio> #include<queue> #include<cstring> #include<algorithm> typedef long long LL; using namespace std; LL RD(){ LL out =
阅读全文
posted @
2020-04-17 22:57
mmn
阅读(151)
推荐(0)
DFS序
摘要:dfs序就是一棵树在dfs遍历时组成的节点序列.(先序遍历差不多),dfs序把一棵树进行区间化 出入的区间就是它掌控的子树,出入分别即为in[x],out[x],in[x]为结点x进入时的时间戳,out[x]为结点x出去时的时间戳 比如上图子树,dfs序为,A B E E F K K F B C G
阅读全文
posted @
2020-04-17 22:56
mmn
阅读(296)
推荐(0)
二维树状数组的单点修改和区间查询(板子)libreoj133
摘要:#include<bits/stdc++.h> #define ll long long using namespace std; ll n,m; ll a[5010][5010]; ll lowbit(ll x){ return (x&-x); } void add(ll x,ll y,ll k)
阅读全文
posted @
2020-04-06 18:12
mmn
阅读(165)
推荐(0)
尺取法(滑窗,双指针)
摘要:poj3061 尺取法裸题,维护动态数组即可 ,l,r,sum,ans; 代码: #include <cstdio> #include <algorithm> #include <cstring> #define MAX 100005 #define LL long long #define INF
阅读全文
posted @
2020-03-30 22:25
mmn
阅读(148)
推荐(0)