随笔分类 - 图论
摘要:一,二分图匹配问题1.概念最大匹配:图中包含边数最多的匹配称为图的最大匹配。完美匹配:所有点都在匹配边上。最小顶点覆盖:用最少的点让每条边都至少和一个点关联。可以证明:最小覆盖需要的点集 = 最大匹配数最小路径覆盖:用最少的不相交的覆盖有向无环图G的所有结点。解决此类问题可以建立一个二分图模型。把所有顶点i拆成两个:X结点集中的i和Y结点集中的i',如果有边i->j,则在二分图中引入边i->j',设二分图最大匹配为m,则结果就是n-m。最大独立集问题:在N个点的图中选出m个点,使这m个点两两之间没有边.求m最大值.最大独立集点数 = N - 最小顶点覆盖(最大匹配数
阅读全文
摘要:1.POJ 3635使用dijkstra堆优化思想,状态为二维的,每个点的油箱里的油,求每个状态的最小花费,每次从堆中弹出的状态就确定了这种状态的最小花费。对于每个状态,两种拓展方式,加一单位油,和直接向下开。#include #include #include using namespace std;#define MAXN 300050#define INF 0x3fffffffint tot;int head[MAXN], vis[MAXN][102];int dis[MAXN][102];int T, n, m;struct Edge { int to, nxt; int ...
阅读全文
摘要:树的一些性质二叉树:第i层至多有2^(i-1)个节点,至少有1个;深度为k的二叉树至多有2^k-1个节点,至少有k个节点。节点总数=边数(总度数)+1=二度点*2+一度点+1=二度点+一度点+叶子节点 推出 二度点+1=叶子节点个数完全二叉树:n个结点的叶子节点个数有 n/2 向上取整个。深度为logn/log2+1。顺序存储时若1存根节点,则2n为左结点,2n+1为右结点。二叉链表:n个结点共有2n个指针域,其中n-1个表示结构,n+1个空指针。利用起来这些空指针为线索二叉树。先序/中序/后序线索二叉树:LTag=0, lchild域指向左孩子;LTag=1, lchild域指向其前驱RTa
阅读全文

浙公网安备 33010602011771号