随笔分类 - ACM-图论
摘要:处理处最短路径图,这个比较巧妙链接:点我
阅读全文
摘要:题意:给你n(n = 1000)个二维点,第一个点是power plant,还有n - 1个点是dormitories。然后现在知道有一条寝室到寝室的边是不能连的,但是我们不知道是哪条边,问这种情况下,最小生成树的最大值。 好题,毕竟做了一下午,注意dis要double转换 dfs求的是从cur点出
阅读全文
摘要:和以前做过的一个二分图颇为相似,以前的是互相不认识的放在一组,这个是互相认识的,本质上是相同的是 hdu 2444 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 usin...
阅读全文
摘要:题意:有n座岛和m条桥,每条桥上有w个兵守着,现在要派不少于守桥的士兵数的人去炸桥,只能炸一条桥,使得这n座岛不连通,求最少要派多少人去。处理重边边在遍历的时候,第一个返回的一定是之前去的边,所以这条边忽略,然后继续遍历,此时可以通过未遍历的边返回pre 1 #include 2 #includ...
阅读全文
摘要:题意: 有 n+1 个城市编号 0..n,有 m 条无向边,在 0 城市有个警察总部,最多可以派出 k 个逮捕队伍,在1..n 每个城市有一个犯罪团伙, 每个逮捕队伍在每个城市可以选择抓或不抓,如果抓了 第 i 个城市的犯罪团伙,第 i-1 个城市的犯罪团伙就知道了消息 ,如果第 i-1 的犯罪 团...
阅读全文
摘要:给出一个最短路邻接矩阵,求出构图的最小边数正常的floyd的k放在最外面是为了防止i到j的距离被提前确定,而逆向的floyd,i到j的距离已经确定,所以需要在i到j之间枚举k,注意需要break,否则会多删除Sample Input330 1 11 0 11 1 030 1 3 4 0 27 3 0...
阅读全文
摘要:kuangbin模板题,看起来十分高大上 1 /* *********************************************** 2 Author :kuangbin 3 Created Time :2013-9-4 0:13:15 4 File Name ...
阅读全文
摘要:把26个小写字母当成点,每个单词就是一条边。然后就是求欧拉路径。#include#include#include#include#include#include#includeusing namespace std;#define MOD 1000000007const int INF=0x3f3f...
阅读全文
摘要:题意:有一幅图,现在要加一条边,加边之后要你删除一条边,使图不连通,费用为边的费用,要你求的是删除的边的最小值的最大值(每次都可以删除一条边,选最小的删除,这些最小中的最大就为答案)首先要进行缩点,把图缩为一棵树,因此,加入一条边后图就会存在一个环,环中的任何一条边删除后都不会导致图不连通之后找一条...
阅读全文
摘要:题目大意:有一个类似于迷宫搜索的图,‘.’代表的是无人的路,'X'代表有人的点,'#'代表此点不可通过,'@'代表门口。每个位置每一秒钟只能站一个人,每个位置到上下左右点的时间为1,问你所有人能不能出去,能出去输出所有人都出去的最小时间,否则输出-1.链接:点我A:增加源点src,和汇点dest,然...
阅读全文
摘要:题意:说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子。这可是一件大事,关系到人民的住房问题啊。村里共有n间房间,刚好有n家老百姓,考虑到每家都要有房住(如果有老百姓没房子住的话,容易引起不安定因素),每家必须分配到一间房子且只能得到一间房子。另一方面,村长和另外的村领...
阅读全文
摘要:题意:给你一个图,图中有宝物和保安两种元素。每个宝物需要周围的某些位置同时安放保安(如果那些位置有宝物,可以把宝物替换成保安)问你最少需要再安置多少保安,可以使所有宝物满足要求。题意有点难懂链接:点我直接建无向图,少判断个奇偶性,最后除个2即可 1 #include 2 #include 3 ...
阅读全文
摘要:题意:N*M的矩形,向其中填充1*2的小块矩形,黑色的部分不能填充,问最多可以填充多少块。链接:点我黑白棋最大匹配将棋盘中i+j为奇数的做A集合,偶数的做B集合,相邻的则建立联系。于是便转换成寻找最大匹配的问题 1 #include 2 #include 3 #include 4 #incl...
阅读全文
摘要:题意:给定一个连通的无向图G,至少要添加几条边,才能使其变为双连通图。链接:点我kuangbin模板题,分析链接:点我 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; ...
阅读全文
摘要:题意:有N 个点,M条边,加一条边,求割边最少。(有重边)链接:点我先求双连通分量,缩点形成一个生成树,然后求这个的直径,割边-直径即是答案 1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include 3 #inc...
阅读全文
摘要:题意:有水平N张牌,竖直M张牌,同一方向的牌不会相交。水平的和垂直的可能会相交,求最少踢出去几张牌使剩下的牌都不相交。二分匹配 最小点覆盖=最大匹配。链接:点我坐标点作为匹配的端点 1 #include 2 #include 3 #include 4 #include 5 #include...
阅读全文
摘要:题意:两遍最短路链接:点我注意结果用long long 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define MOD...
阅读全文
摘要:题意:题目给出了m对的相对关系,求有多少个排名是确定的。链接:点我如果这个点到其他点的关系是确定的,那么这个点就是确定的,注意如果这个点到不了其他点,但其他点能到这个点,那么这个点和其他点的关系是确定的样例图: 1 #include 2 #include 3 #include 4 #include ...
阅读全文
摘要:题目大意:给出n个点和m条边,接着是m条边,代表从牛a到牛b需要花费c时间,现在所有牛要到牛x那里去参加聚会,并且所有牛参加聚会后还要回来,给你牛x,除了牛x之外的牛,他们都有一个参加聚会并且回来的最短时间,从这些最短时间里找出一个最大值输出链接:点我 1 #include 2 #include 3...
阅读全文