题目大意:
有一片供奶牛滑雪的滑雪场,可供滑雪的区域是W(宽)*L(长)的矩阵。上边有W*L个点。规定
奶牛从一个点只能向它上、下、左、右相邻的并且高度不大于它的点运动。现在想要在某些
点对之间架设缆车,使得奶牛可以从较低的地方想较高的地方运动,那么问题来了:最少需
要多少辆这样的缆车就可以使奶牛从每个点运动到可供滑雪区域的每个角落。
思路:
把奶牛符合从点u移动到点v的条件当做一条单向边。那么所有点和边就可以构成有向图。根
据奶牛可以从点u移动到邻近并且高度不大于它的点v,可以分为两种情况:(1)点v比...
分类:
其他好文 时间:
2015-02-04 13:03:57
阅读次数:
114
功能:输入一个N个点,M条单向边的有向图,求出此图全部的强连通分量原理:tarjan算法(百度百科传送门),大致思想是时间戳与最近可追溯点这个玩意不仅仅是求强连通分量那么简单,而且对于一个有环的有向图可以有效的进行缩点(每个强连通分量缩成一个点),构成一个新的拓扑图(如BZOJ上Apio2009的那...
分类:
编程语言 时间:
2015-02-04 00:21:11
阅读次数:
304
讲一下建图过程,题目给出了我们一组匹配match[i] 。对于这一组匹配好的解,我们建边 i->j, 对于能匹配但是不是题目给出的匹配的边,建边j->i; 那么对于一个son和一个gril,如果属于同一个强连通且能过匹配的就一定是满足条件的 。
VIEW CODE
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2015-02-03 13:23:20
阅读次数:
166
题目大意:
N台电脑之间能够通过有向边(u,v)从第u台电脑传输文件到第v台电脑。如果给第u台电脑投放
一个文件,那么这个文件就能通过有向边传输到第v台电脑上,给你N台电脑的连接情况。
那么问题来了:1、最少向这N台电脑中的几台电脑投放文件,就能使N台电脑都能接收到文件。
2、最少向这N台电脑构成的图中添加几条边,使只向一台电脑投放文件,就能够是N台电脑都
能接收到文件。
思路:
该图中的文件具有传递性。很快发现强连通的特征。对应图中的一个强连通分量,只要向其中的
一个点投放文件,那么这个强连通分量就都能...
分类:
Web程序 时间:
2015-02-03 11:07:50
阅读次数:
118
首先我们可以确定的是,对于val值小于0的节点都变成0. 假设一个集合内2个房间都能任意到达,那么我就可以吧集合内的所有点的价值都取到,并且可以达到任一点。实际上集合内的每个点是相同的,这样的集合就是一个强连通分量。 那么我们就可以用tarjin算法进行强连通缩点, 最后形成一个dag的图。在dag的图上面进行dp。可以先用拓扑排序后dp。或者建反响边记忆化搜索 。
VIEW CDDE
...
分类:
其他好文 时间:
2015-02-02 23:18:54
阅读次数:
196
这是一道典型的强连通的题目。 所谓强连通,就是对于一个有向图,若一个集合内任意2点都能过互相达,于是这个几何就是一个强连通分量。 对于任意图,都可以分解 人多个不相交的强连通集合。 对于这题目,只要用著名的tarjin算法对原图进行一次强连通缩点,若说有点都在一个强连通分量,就是yes, 否者no。 这里可以用并查集。
VIEW CODE
//#pragma comment(linker...
分类:
其他好文 时间:
2015-02-02 18:19:02
阅读次数:
215
题目大意:每头奶牛都希望自己成为最欢迎的那头牛。给你N头牛,M个崇拜关系(A,B)。
意思是牛A崇拜牛B。特别是,如果牛A崇拜牛B,牛B崇拜牛C,那么牛A也崇拜牛C。那么
问题来了:请计算出被所有牛崇拜的牛的个数。
思路:把崇拜关系(A,B)看做是一条有向边,并且,我们发现牛的崇拜关系具有传递性。那
么只要牛A有一条路径连向牛B,就可以判定牛A崇拜牛B。于是,被所有牛崇拜的牛就是所
有的点都存在一条路径连向它的有向路径。这道题中,将原图强连通分量缩点后构成了DAG,
那么如果新图中出度为0的点只有一个,则有...
分类:
其他好文 时间:
2015-02-02 18:05:26
阅读次数:
246
题目大意:每头奶牛都希望自己成为最欢迎的那头牛。给你N头牛,M个崇拜关系(A,B)。
意思是牛A崇拜牛B。特别是,如果牛A崇拜牛B,牛B崇拜牛C,那么牛A也崇拜牛C。那么
问题来了:请计算出被所有牛崇拜的牛的个数。
思路:刚学的Kosaraju算法。考虑这道题,把崇拜关系(A,B)看做是一条有向边,并且,
我们发现牛的崇拜关系具有传递性。那么只要牛A有一条路径连向牛B,就可以判定牛A
崇拜牛B。于是,被所有牛崇拜的牛就是所有的点都存在一条路径连向它的有向路径。下
边简述下Kosaraju算法:
(1)对原图...
分类:
其他好文 时间:
2015-01-29 21:12:10
阅读次数:
279
题目链接:http://codeforces.com/contest/505/problem/D
题目大意:
在一个图中,有n个顶点,给出m对数字(u,v)表示顶点u和顶点v必须直接或者间接相连,让你构造一个这样的图,输出最少需要多少条边。
分析:
毫无疑问,n个顶点的话,我们最多可以用n条边,使得n个顶点构成一个环,满足所有的情况(任意两点都是联通的),但是这并不一定是最少的边。
于是...
分类:
移动开发 时间:
2015-01-28 17:57:22
阅读次数:
209
题解:
首先缩个点是必然,然后随便想想就知道缩点后需要最后是一条链,
也就是——
缩点后求拓扑图最长路以及方案数。
呃,去重的部分我重标号排了个序水过。
代码:
#include
#include
#include
#include
#define N 101000
#define M 1001000
#define inf 0x3f3f3f3f
using n...
分类:
编程语言 时间:
2015-01-11 14:53:41
阅读次数:
253