![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 51
WhiStLenA
其实其实其实其实其实
展开
-
P1053Easy sssp
描述输入数据给出一个有N(2 <= N <= 1,000)个节点,M(M <= 100,000)条边的带权有向图. 要求你写一个程序, 判断这个有向图中是否存在负权回路. 如果从一个点沿着某条路径出发, 又回到了自己, 而且所经过的边上的权和小于0, 就说这条路是一个负权回路. 如果存在负权回路, 只输出一行-1; 如果不存在负权回路, 再求出一个点S(1 <= S <= N)到每个点的最短原创 2016-08-05 20:55:39 · 491 阅读 · 0 评论 -
1222 信与信封问题(二分图匹配)
题目描述 DescriptionJohn先生晚上写了n封信,并相应地写了n个信封将信装好,准备寄出。但是,第二天John的儿子Small John将这n封信都拿出了信封。不幸的是,Small John无法将拿出的信正确地装回信封中了。将Small John所提供的n封信依次编号为1,2,…,n;且n个信封也依次编号为1,2,…,n。假定Small John能提供一组信息:第i封信肯定不是装在信封j中原创 2016-11-11 10:10:27 · 620 阅读 · 0 评论 -
二分图匹配 匈牙利算法
【基本概念】: 二分图:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。 最大匹配:给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配. 选择这样的原创 2016-11-11 08:28:42 · 355 阅读 · 0 评论 -
Codevs 1519 过路费
题目描述 Description在某个遥远的国家里,有 n个城市。编号为 1,2,3,…,n。这个国家的政府修建了m 条双向道路,每条道路连接着两个城市。政府规定从城市 S 到城市 T 需要收取的过路费为所经过城市之间道路长度的最大值。如:A到B长度为 2,B到C 长度为3,那么开车从 A经过 B到C 需要上交的过路费为 3。佳佳是个做生意的人,需要经常开车从任意一个城市到另外一个城市,因此他需要原创 2016-11-08 14:33:57 · 651 阅读 · 1 评论 -
CODEVS 2070 爱情之路(二维SPFA)
题目描述 Descriptionyh非常想念他的女朋友小y,于是他决定前往小y所在的那块大陆。 小y所在的大陆共有n个城市,m条双向路,每条路连接一个或两个城市。经过一条路ei需要耗费时间ti。此外,每条路均有一个特定标识,为’L’,’O’,’V’,’E’,中的某个字母。yh从1号城市出发,前往位于n号城市的小y所在处。 为了考验yh,小y规定,yh必须按照‘L’->’O’->’V’->’E’-原创 2016-10-25 19:39:10 · 459 阅读 · 0 评论 -
种树(2丶3)差分约束
codevs 种树3题目描述 Description为了绿化乡村,H村积极响应号召,开始种树了。 H村里有n幢房屋,这些屋子的排列顺序很有特点,在一条直线上。于是方便起见,我们给它们标上1~n。树就种在房子前面的空地上。 同时,村民们向村长提出了m个意见,每个意见都是按如下格式:希望第li个房子到第ri个房子的房前至少有ci棵树。 因为每个房屋前的空地面积有限,所以每个房屋前最多只能种ki棵树原创 2016-09-18 10:25:33 · 511 阅读 · 0 评论 -
封锁阳光大学
题目描述 Description曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹,感到不爽。河蟹决定封锁阳光大学,不让曹刷街。 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M条道路连接。每只河蟹可以对一个点进行封锁,当某个点被封锁后,与这个点相连的道路就被封锁了,曹就无法在与这些道路上刷街了。非常悲剧的一点是,河蟹是一种不和谐的生物,当两只河蟹封锁了原创 2016-08-25 15:55:30 · 687 阅读 · 0 评论 -
上白泽慧音(tarjan求强连通分量)
题目描述在幻想乡,上白泽慧音是以知识渊博闻名的老师。春雪异变导致人间之里的很多道路都被大雪堵塞,使有的学生不能顺利地到达慧音所在的村庄。因此慧音决定换一个能够聚集最多人数的村庄作为新的教学地点。人间之里由 N 个村庄(编号为 1..N)和 M 条道路组成,道路分为两种一种为单向通行的,一种为双向通行的,分别用 1 和 2 来标记。如果存在由村庄 A 到达村庄 B 的通路,那么我们认为可以从村庄 A原创 2016-09-16 20:36:48 · 472 阅读 · 0 评论 -
洛谷 P1462 通往奥格瑞玛的道路
题目背景在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛题目描述在艾泽拉斯,有n个城市。编号为1,2,3,…,n。 城市之间有m条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联盟的攻击,进而损失一定的血量。 没经过一个城市,都会被收取一定的过路费(包括起点和终点)。原创 2016-09-01 21:26:10 · 630 阅读 · 0 评论 -
POJ 1062 昂贵的聘礼
Description年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:”嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。”探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者原创 2016-09-10 20:59:57 · 395 阅读 · 0 评论 -
NOIP2013 货车运输
题目描述A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入输出格式输入格式:输入文件名为 truck.in。 输入文件第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道 路。 接下来 m 行每行 3 个整数原创 2016-08-19 18:03:48 · 392 阅读 · 0 评论 -
POJ 2387 Til the Cows Come Home
DescriptionBessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she want原创 2016-09-10 10:44:41 · 253 阅读 · 0 评论 -
Dijkstra+堆优化模板 (手写堆简单易懂)
#include<cstdio>#include<iostream>#define MAXN 2510#define INF 1000000000using namespace std;int q[MAXN*2],pos[MAXN*2];int n,m,s,t,dis[MAXN];struct node { int to; int next; int val;原创 2016-11-15 15:45:14 · 2640 阅读 · 2 评论