图论
文章平均质量分 90
语法糖likedy
这个作者很懒,什么都没留下…
展开
-
蒟蒻的笔记本二、tarjan
本博客搬自本人的洛谷博客 https://www.luogu.org/blog/diker2018/post-di-bi-ji-ben-er-tarjantarjan好神奇啊。一、最大强连通分量问题1、一些定义:<1>强连通:在有向图G中,设有两个点u、v,发现由u有一条路可以到v,由v也有一条路可以到u,则u、v强连通。&am原创 2018-10-12 12:46:57 · 216 阅读 · 0 评论 -
UVA10603 Fill
题目链接:UVAluogu题目描述:有三个容量分别为a,b,c升的容器(a,b,c都是正整数,且都不超过200),刚开始的时候第一个和第二个杯子都是空的,只有第三个杯子装满了c升水。允许从一个容器把水倒入另一个容器中,直到一个容器空了或者是另一个容器满了,允许无限次的进行这样的倒水操作。你的任务是编写一个程序来计算出最少需要倒多少升水才能让其中某一个杯子中的水有d升(d是不超过200的正...原创 2019-10-10 14:05:05 · 232 阅读 · 0 评论 -
UVA10972 RevolC FaeLoN
题目来源:UVA洛谷题目大意:现在给你一个 n 个点 m 条边的无向图,不一定联通。现在你需要把原有的无向边变为有向边,并加入一些新的有向边。问最少加入多少条有向边使得图只有一个强连通分量。题解:听说是个定理:可以给一个任意的边-双连通图的边定向,使它成为一个强连通图。因为一个双连通分量按照一定的方向对边定向后,一定可以变成一个强连通分量,所以可以把图中所有的双连通分量缩成一个点。...原创 2019-10-08 18:14:23 · 150 阅读 · 0 评论 -
UVA1361 Cactus
题目链接:UVA洛谷题目大意:仙人掌(Cactus)被定义为每条边(紫薯上此处写成 每个点,巨坑)最多在一个简单回路上的连通无向图。(简单回路指结点不重复经过的环)。给定一个无向图,求它有多少生成子图(包括自身)是仙人掌。如果原图不是仙人掌,输出0。题解:子图:原图的一部分。生成子图:包含原图所有点的子图。相当于拆去原图的一些边,使得图仍然是一个仙人掌。在原图为仙人掌的前提下...原创 2019-10-06 16:18:03 · 152 阅读 · 0 评论 -
UVA1086 The Ministers' Major Mess
题目链接:UVA洛谷题目大意:有n个人对m个方案投票,每个人最多只能对其中的4个方案投票(少投的票相当于弃权),每一票要么支持要么反对。问是否存在一个最终决定,使得每个投票人都有超过一半的投票被采纳,在所有可能的最终决定中,哪些方案的状态是确定的。题解:每个方案只有实施和不实施两种状态,想到2-sat。每个人的投票相当于约束条件。因为每个人都要有超过一半的投票被采纳,如果他只投了投了...原创 2019-10-06 15:34:38 · 329 阅读 · 2 评论 -
UVA10765 Doves and bombs
题目链接:UVA洛谷题目大意:给定一个连通的无向图,一个点的“鸽子值”定义为将它从图中删去后连通块的个数。求按 ‘鸽子值’ 降序排列的前m个点。若鸽子值一样则按点标号升序排列。题解:在无向图中只有删除割点才会改变连通块的个数,删掉一个割点后连通块的个数等于包含有该割点的双连通分量的个数。所以求一遍双连通分量,找出割点以及每个割点在的双连通分量的数量就行了。关于连通分量求点双连通及...原创 2019-10-06 15:00:54 · 207 阅读 · 0 评论 -
UVA11396 Claw Decomposition(二分图判定)
题目链接:UVA洛谷题目大意:给定一个无向图,每个点的度数为3,判断是否能分解成若干个 爪 。每个点可以属于多个爪,每条边只能属于一个爪。爪如图所示:题解:每个点的度数为3,这个条件很重要。画图分析会发现,如果一个图可以分解成若干个爪,任意一个作为爪中心的点,它的所有相邻的点都是爪的边缘;作为爪的边缘的点,它的所有相邻的点都是爪的中心。并且作为爪的中心和边缘的点可以同时互换。然...原创 2019-10-06 14:34:17 · 190 阅读 · 0 评论 -
H: Animal Companion in Maze
题目来源:CSUOJ 2298: Animal Companion in MazeCodeForces Gym101158H Animal Companion in Maze#include <iostream>#include <iomanip>#include <stdio.h>#include <string.h>#include...原创 2019-04-08 22:07:41 · 383 阅读 · 3 评论 -
2-SAT 问题
后缀数组 (suffix(suffix(suffix array)array)array)原创 2019-03-04 21:05:04 · 511 阅读 · 0 评论 -
网络流
以下内容部分整理自 刘汝佳的 《算法竞赛入门经典第2版》和《算法竞赛经典入门–训练指南》原创 2019-02-25 22:10:50 · 301 阅读 · 0 评论 -
分层图
写在前面的费话:分层图似乎是一个非常简单的东西,总就得被大佬看见这篇博客会笑我是个菜鸡(不过没关系,反正实锤是菜鸡了orz)。不过最近发现以前学的东西和做过的题老是很快就忘了,所以觉得还是该记录一下。适用场景:一些图论题,比如最短路、网络流等,题目对边的权值提供可选的操作,比如可以将一定数量的边权减半,在此基础上求解最优解。算法思路:根据是否进行题目提供的操作以及操作次数的不同,会产生非常多的...原创 2018-12-17 16:34:14 · 14258 阅读 · 5 评论 -
蒟蒻的笔记本三、IDA*算法
一、迭代加深搜索经典例题:埃及分数问题在古埃及,人们用单位分数(即1/a,a是正整数)的和表示一切有理数。例如,2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为在加数中不允许有相同的。对于一个分数a/b,表示法有许多种,其中加数少的比加数多的好,如果加数个数相同,则最小的分数越大越好。输入:两个正整数 a,b(0&amp;lt;a&amp;lt;b&amp;lt;500)输出:表达式,详见样例...原创 2018-10-28 20:07:20 · 172 阅读 · 0 评论 -
UVA11367 Full Tank?(最短路)
题目链接:UVA洛谷题目大意:有N个城市和M条道路,构成一条无向图。在每个城市里边都有一个加油站,不同的加油站的价格都不一样。通过一条道路的油耗就是该道路的边权。现在你需要回答不超过100个问题,在每个问题中,请计算出一条油箱容量为C的车子,从起点S到终点T至少要花多少钱。题解:将每个点 iii 拆成 101101101 个点:V(i,j)V(i,j)V(i,j)表示车子在点 i...原创 2019-10-10 21:25:59 · 214 阅读 · 0 评论