上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要: 【模板】2-SAT 问题 通用做法:拆点+Tarjan求强连通分量。将点$i$拆为$i$和$i+n$,分别表示$i$为假以及$i$为真。注意这个顺序不能搞反,否则求可行解的时候会出错。 连边: 本题中给出的命题为:“$x$为$a$或$y$为$b$”。以“$x$为真或$y$为假”为例,连边时作以下考虑 阅读全文
posted @ 2020-10-22 17:55 StreamAzure 阅读(99) 评论(0) 推荐(0)
摘要: UVA1108 Mining Your Own Business 题意:在一个无向图上选择尽量少的点涂黑,使得删除任意一个点后,每个连通分量里都至少有一个黑点。 分析:对于每一个双连通分量,以割点数量分情况讨论: 0个割点:不能与其他双连通分量的黑点连通,因此至少需要设2个黑点,方案为任选其中两个节 阅读全文
posted @ 2020-10-20 14:48 StreamAzure 阅读(114) 评论(0) 推荐(0)
摘要: UVA1364 Knights of the Round Table 题意:求无向图$G$上不在任何一个简单奇环上的点的个数。 分析:首先知道两个定理: 若双连通分量$C$含奇环,则$C$上任意一个点都位于奇环上(不一定是同一个奇环)。 若双连通分量$C$不含奇环,则它一定是个二分图,反之也成立。 阅读全文
posted @ 2020-10-20 11:36 StreamAzure 阅读(166) 评论(0) 推荐(0)
摘要: P1137 旅行计划 思路:缩点+DAGdp,与模板有所区别的是,本题求的是“以节点$i$为终点的最长路”。将缩点之后的新图反向建边,即可直接用“以节点$i$为起点的最长路”的DAGdp。 #define mem(a,n) memset(a,n,sizeof(a)) #define f(i,a,b) 阅读全文
posted @ 2020-10-15 15:06 StreamAzure 阅读(96) 评论(0) 推荐(0)
摘要: UVA11324 The Largest Clique 思路:强连通分量缩点转化DAG+DAG上的DP 解法一:记忆化搜索 #define mem(a,n) memset(a,n,sizeof(a)) #define f(i,a,b) for(int i=a;i<=b;i++) #define af 阅读全文
posted @ 2020-10-14 18:24 StreamAzure 阅读(98) 评论(0) 推荐(0)
摘要: 预备知识 强连通:对于图$(V,E)$上的两个顶点$u,v$,若存在从$u$到$v$的有向路径,同时也存在从$v$到$u$的有向路径,(注意有路径即可,也就是允许有中间顶点)则称这两个顶点强连通。 强连通图:若图$(V,E)$上的任意两个顶点都强连通,则称这个图为强连通图。 强连通分量:有向图的极大 阅读全文
posted @ 2020-10-14 18:20 StreamAzure 阅读(476) 评论(0) 推荐(0)
摘要: Johnson 全源最短路 特点 可求图上任意两点间的最短路,比Floyd快 支持负权图,且可判断负环 核心流程 创建超级源点0,并以0为起点向图中各结点建边,边权均为0. 以0为起点进行SPFA,求出节点0到各节点$i$的最短路,记为$h[i]$。由于SPFA的自身特点,这一步可以同时判断负环。 阅读全文
posted @ 2020-10-09 09:24 StreamAzure 阅读(169) 评论(0) 推荐(0)
摘要: 预备知识 二分图:如果一张无向图$(V,E)$存在点集$A,B$,满足$|A|,|B|≥1$,\(A∩B=\empty\),\(A∪B=V\),且对于$x,y∈A$或$x,y∈B$,\((x,y)\notin E\),则称这张无向图为二分图,$A,B$分别为二分图的左部和右部。 图的匹配:对于一张无 阅读全文
posted @ 2020-10-07 18:23 StreamAzure 阅读(2167) 评论(0) 推荐(4)
摘要: 最大流问题 最大流问题满足以下三个条件: 容量限制:\(f(u,v)≤c(u,v)\) 斜对称性:\(f(u,v)=-f(v,u)\) 流量平衡:\(\sum_ {(u,v)∈E}f(u,v)=0\)(除$s$,$t$外的图中任意两点) 原图中不存在的边也假设存在,视为容量为0. 残量网络:计算出每 阅读全文
posted @ 2020-09-26 00:11 StreamAzure 阅读(1105) 评论(0) 推荐(0)
摘要: 迭代加深搜索(IDDFS) 一、IDDFS是什么 IDDFS是在DFS基础上增加迭代加深这一步的一种搜索算法。 迭代加深体现在以下两步: 预先估算答案所在深度,即一个深度约束值; 若在当前约束值下未能找到答案,则加大深度约束值,继续搜索。 二、IDDFS解决什么问题 当问题的答案满足以下两个条件: 阅读全文
posted @ 2020-09-22 17:57 StreamAzure 阅读(662) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 13 下一页