图论
ccsu_001
这个作者很懒,什么都没留下…
展开
-
pku1251 Jungle Roads(kruskal)
Jungle RoadsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 6312 Accepted: 2858原创 2009-09-12 10:21:00 · 583 阅读 · 0 评论 -
pku1679 The Unique MST
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1679题意简述:求给定的图的最小生成树,看是否唯一。解题思路:水题,在求最小生成树中加一个判断条件:当前选入的点是否可以与其他已选择的点连接而形成又一棵最小生成树。代码:#include#includeusing namespace std;#define min(a,原创 2010-03-04 22:25:00 · 571 阅读 · 0 评论 -
pku3026 Borg Maze
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3026题意简述:求把给定图中的A和所有的S都连起来所需要的步长最短值。解题思路:bfs+最小生成树。水题。ps:这题有个小trick,读入字符之前,处理一个空行。具体看代码。代码:#include#includeusing namespace std;const原创 2010-03-08 10:05:00 · 653 阅读 · 0 评论 -
pku1985 Cow Marathon
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1985题意简述:求给定无向图,求最长点对,输出最长的长度。解题思路:根据题目特点可以知道,给定的图中没有环。回想一下,高中学的有机化学,链状化合物,我们可以把给定的图尽可能的拉成一条最长的链,最长的那条就是主链。首先,任意找一个点,求其到其它点的最长距离,那么距离最远的那点就是主链上的一个原创 2010-03-08 22:39:00 · 591 阅读 · 0 评论 -
pku1698 Alice's Chance
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1698题意简述:Alice现在想接拍几部电影,每部电影有拍摄时间(电影之间的时间可能有冲突),每部电影有截至时间和最少需要的拍电影的次数,求Alice是否能够接受完成全部电影的拍摄。解题思路:网络流。先把没有冲突的且有电影安排的时间处理出来,把电影的最少拍摄次数减少。然后就是网络流,注意处原创 2010-03-09 22:31:00 · 563 阅读 · 0 评论 -
pku2239 Selecting Courses
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2239题意简述:选课,能够选的最多的课时。解题思路:一个裸二分匹配。代码:#include#includeusing namespace std;const int Len=400;bool check[Len];bool hide[Len][Len];in原创 2010-03-09 10:49:00 · 466 阅读 · 0 评论 -
pku2367 Genealogical tree
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2367题意看样例也能猜到一点,就是top排序,可以说这是道没人做的标准水题。自己乱写一些提交1y,以下是我写的比较乱的代码:#include#include#includeusing namespace std;const int Max=102;int n;str原创 2010-01-03 14:31:00 · 646 阅读 · 0 评论 -
pku3249 Test for Job
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3249题意简述:给出一个有向无环图,每个顶点都有一个权值。求一条从入度为0的顶点到出度为0的顶点的一条路径,路径上所有顶点权值和最大。解题思路:top+dp。在hdu的一个比赛中看到一个类似的题目,以前听队友提到过这个题目,然后比赛的时候自己写完1y。但在这改了一下后wa无敌,发现自己忽略原创 2010-03-22 22:44:00 · 731 阅读 · 0 评论 -
pku2138 Travel Games
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2138 题意简述:给定n个字符串,对每个字符串可以在其任何位置插入一个字符,我们称之为一种变化。然后再给定一个初始串,这个初始串一定在原先给定的n个串中,求经过若干次操作以后,所能得到的最长字符串,注意在每次变换以后所得到的字符串必须在所给定的n个字符串中。 解题思路:dp+最短路原创 2010-04-30 17:55:00 · 717 阅读 · 0 评论 -
pku1789 Truck History
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1789水题,最小生成树。代码:#include#includeusing namespace std;const int Max=2005;const int INF=1<<30;int g[Max][Max];int L[Max];bool flag[Ma原创 2010-03-04 10:39:00 · 507 阅读 · 0 评论 -
pku2394 Checking an Alibi
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2394题意简述:求一个点能否在规定时间到达另一点。求出所有满足条件的“另一点”。解题思路:直接求最短路,注意这题有个trick:有重边!代码:#include#include#includeusing namespace std;const int Max=505;原创 2010-03-03 16:46:00 · 601 阅读 · 0 评论 -
pku3259 Wormholes
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3259题意简述:给定一张图,一个人从原点在走一圈回来,看能否实现时间倒退。解题思路:SPFA判断负权环,有负权环当然能实现时间倒退,否则。。。代码:#include#includeusing namespace std;const int Max=505;struc原创 2010-03-04 11:16:00 · 533 阅读 · 0 评论 -
pku1125 Stockbroker Grapevine
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1125题目比较长,其实就水题一道,很明显的floyd。只贴代码,相信大家都能看懂:#includeusing namespace std;const int MAX=999999999;int g[101][101];int main(){ int n,n原创 2009-09-23 13:06:00 · 531 阅读 · 0 评论 -
pku3522 Slim Span(最小生成树变形)
半夜了,看看电影,顺便写一个水题的解题报告。题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3522题意简述:求一个图的一棵生成树,使得该生成树的最大边权最小,如果生成树,则输出-1.题目分析:求生成树的最大边权最小,根据最小生成树的一条定理证明可知,取定一条边当作一棵树的最小边权,包含这条最小边权的最下生成树的最大边一定是所有生成树原创 2009-11-08 02:42:00 · 933 阅读 · 0 评论 -
pku1659 Frogs' Neighborhood(havel定理)
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1659题意就是要我们求顶点度序列是否可简单图化,是就输出一种情况,否则就输出“NO”。先说havel定理:给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化。进一步,若图为简单图,则称此序列可简单图化。可图化的判定比原创 2009-11-29 17:23:00 · 556 阅读 · 0 评论 -
强联通分量
转自百度百科。强连通分量 有向图中, u可达v不一定意味着v可达u. 相互可达则属于同一个强连通分量(Strongly Connected Component, SCC)最关键通用部分:强连通分量一定是图的深搜树的一个子树。一、 Kosaraju算法 1. 算法思路 基本思路: 这个算法可以说是最容易理解,最通用的算法,其比较关键的部分是同时应用原创 2009-12-10 10:08:00 · 1066 阅读 · 0 评论 -
pku2240 Arbitrage
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2240题意简述:给定n中货币,每一种货币相对另一种货币有一个汇率,问能否同过若干次交易使得自己的钱增加。解题思路:明显的矩阵传闭包,floyd。代码:#include#includeusing namespace std;const int Max=32;const原创 2010-03-03 16:51:00 · 543 阅读 · 0 评论 -
pku1061 昂贵的聘礼
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1062题意简述:中文题目,一个人想得到一件物品,他可以用钱直接买,也可以先买其他物品再加一些钱换取想要物品,给定足够的数据,要求得到这件物品所需最小价值。解题思路:看到这题就能想到用最短路来求解,枚举最低等级,然后求从起点到该物品所对应的点的最短路径,注意其中的一些约束条件,不然会狂wa(原创 2010-03-03 17:56:00 · 519 阅读 · 0 评论 -
pku3020 Antenna Placement
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3020题意简述:在n*m的矩形框内有两种标识符,先要求去把特定标识符的格子覆盖,每次覆盖最多只能覆盖两个,并且两个点要是连续的(对角的不算),问要覆盖几次才能完成。解题思路:看到覆盖自然而然想到了最小路径覆盖,在每个相邻点之间连一条无向边。然后求最大匹配数,点数-最大匹配数 即为所求。原创 2010-03-03 17:35:00 · 551 阅读 · 0 评论 -
pku2253 Frogger
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2253题意简述:给定一系列点的坐标,求一点到另一点的一条路径,使得该路径中的最大边权最小。解题思路:此题有两种方法求解,一种是最小生成树,另一种就是用最短路的变形求解。当时用的是最短路变形。其关键的松弛方程为:L[i]=min(max(L[j],map[j][k]),L[i])。简单证原创 2010-03-03 19:33:00 · 573 阅读 · 0 评论 -
在有向图中,判断某条边一定被两点的最短路径经过
假设在有向图中从起点到s,到终点t的最短路径长度为distance,,最短路径的条数为kinds。对于某条有向边E(i, j),如果该条边一定被从s到t的最短路径经过,那么首先需要满足:dis(s, i)+dis(i, j) + dis(j, t) == dis(s, t); //其中dis(a, b)表示从a到b的最短路径 其次还需要满足kinds(s, i) + kinds(j, t) =原创 2015-08-14 20:54:40 · 1759 阅读 · 0 评论