图论
hadis_fukan
这个作者很懒,什么都没留下…
展开
-
10048 - Audiophobia (floyd变形)
Problem B: Audiophobia Consider yourself lucky! Consider yourself lucky to be still breathing and having fun participating in this contest. But we apprehend that many of your descendants m原创 2014-04-18 20:42:20 · 891 阅读 · 0 评论 -
poj 2762 Going from u to v or from v to u? (判断是否是弱联通图)
题意:给定一个有向图有m条单向边,判断是否任意两点都可达(a能到b或者b能到a或者互相可达),即求 弱联通分量。算法:先缩点求强连通分量。然后重新建图,判断新图是否是一条单链,即不能分叉,如果分叉了就会存在不可达的情况。怎么判断是否是单链呢?就是每次入度为0的点都只有一个,即每次队列里只有一个点。( o(╯□╰)o。。。。。好像已原创 2014-07-10 22:59:27 · 818 阅读 · 0 评论 -
hdu 4888 Redraw Beautiful Drawings (最大流)
题意:有一个n*m的矩阵,告诉你每行每列的和,问能y原创 2014-07-31 09:17:03 · 556 阅读 · 0 评论 -
zoj 2874 & poj 3308 Paratroopers (最小割)
题意:一个m*n大小的网格,已知伞兵着陆的具体位置(行和列)。现在在某行(或某列)安装一架激光枪,一架激光枪能杀死该行(或该列)所有的伞兵。在第i行安装一架激光枪的费用是Ri,在第i列安装的费用是Ci。要安装整个激光枪系统,总费用为这些激光枪费用的乘积。求杀死所有伞兵的最小费用。构图:把伞兵视为边,行与列视为顶点。增加源点和汇点,对于第i行,从源点向顶点i连原创 2014-07-31 09:50:52 · 815 阅读 · 0 评论 -
poj 1815 Friendship (最小割+拆点+枚举)
题意:就在一个给定的无向图中至少应该去掉几个顶点才能使得s和t不联通。算法:如果s和t直接相连输出no answer。把每个点拆成两个点v和v'',这两个点之间连一条权值为1的边(残余容量)v和v''分别是一个流进的点,一个流出的点。根据求最小割的性质,权值小的边是可能被选择的(断开的)。添加源点st=0和汇点en=2*n+1,源点与s连权值为i原创 2014-08-01 12:31:27 · 812 阅读 · 0 评论 -
UESTC 888 Absurdistan Roads (kruscal+floyd)
(o(╯□╰)o还是很不习惯国外的区域赛题目。。。读不是很懂啊不是很懂啊。。。要研究半天)Absurdistan RoadsTime Limit: 5678/3456MS (Java/Others) Memory Limit: 65432/65432KB (Java/Others)Submit StatusThe peop原创 2014-08-27 13:43:09 · 1041 阅读 · 0 评论 -
Codeforces Round #270 D. Design Tutorial: Inverse the Problem
题意:给一个n*n的矩阵,判断它是否是一个带权树的边权矩阵。算法:原创 2014-09-29 23:38:05 · 642 阅读 · 0 评论 -
UVa 10308 - Roads in the North (树上的最长路径)
DFS更新每个点发出的边的最大值和原创 2014-10-02 14:47:01 · 584 阅读 · 0 评论 -
Codeforces Round #290 (Div. 2) C. Fox And Names
题意:是否可以构造26个字母的顺序,使得给出的字符串是按字典序排列的拓扑排序来判断有向图中是否有环,有则存在矛盾。#include#include#include#include#include#includeusing namespace std;typedef long long ll;char w[110][110];struct node原创 2015-02-03 15:51:08 · 579 阅读 · 0 评论 -
Codeforces Round #288 (Div. 2) D. Tanya and Password (欧拉通路)
D. Tanya and Passwordtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWhile dad was at work, a little girl原创 2015-02-06 14:10:09 · 645 阅读 · 0 评论 -
poj 2186 Popular Cows (tarjan缩点)
题意就是 有很多崇拜关系,问原创 2014-07-09 14:51:54 · 541 阅读 · 0 评论 -
poj 3613 Cow Relays (floyd+矩阵快速幂+坐标离散化)
题意:求n条路经过T条的最短路。原创 2014-07-09 20:22:12 · 566 阅读 · 0 评论 -
poj 3635 Full Tank? ( 图上dp )
题意:已知每个点的加油站的油价单价(即点权),每条路的长度(边权)。有q个询问,每个询问包括起点s、终点e和油箱容量。问从起点走到终点的最小花费。如果不可达输出impossible,否则输出最小的旅途费用。算法:其实要分析状态= =感觉就像是dp。最直接的想法是 每到一个点都加上要走到下一个点所需要的油量。但是走的路不同,到底怎么处理加多少的问题呢?因原创 2014-07-10 23:20:22 · 1184 阅读 · 0 评论 -
hdu 1180 诡异的楼梯(bfs+最短路+dp)
题意:给定一个n*m的地图,给定了起点S和终点T。某些格子上有障碍,有些格子上有楼梯。有障碍的格子不能走,有楼梯的格子只有楼梯的方向跟行进方向相同时才能走。楼梯每分钟变换一次方向(横向或竖向)。每走一步花费1分钟,走楼梯的话可以直接走到楼梯对面,也是花费一分钟。没有两个相邻的楼梯,人不能在楼梯上停留。求需花费的最小时间。原创 2014-04-03 16:05:15 · 1075 阅读 · 0 评论 -
hdu 1811 Rank of Tetris (并查集+拓扑排序)
题意:有编号为0-n-1的n个人,用>、=、按RP从高到低排。编号越大RP越高。给出m个RATING关系,判断根据这些信息能否确定高手榜,如果能,输出OK。如果信息冲突就输出CONFLICT,如果信息不完全则输出UNCERTAIN。算法:先把相等Rating的编号用并查集合并。用根节点来代替这个集合。然后根据大小关系建图,按父子关系用邻接表存图,同时记录每个节点原创 2014-04-09 14:53:48 · 1184 阅读 · 1 评论 -
CF:Problem 427C - Checkposts强连通 Tarjan算法
tarjan算法第一题 喷我一脸。。。。把手写栈的类型开成了BOOL,一直在找错。。。#include#include#include#include#define maxn 100005const int MOD=1000000007;using namespace std;struct node{ int to,next;}edge[maxn原创 2014-05-15 00:33:52 · 1434 阅读 · 0 评论 -
wustoj 1318 区间的连通性 (最短路)
floyd求最短路。注意图是有向图。。。#include#include#includeusing namespace std;struct node{ int x,y,id;}edge[205];int dis[205][205];int main(){ int c,T,n,a,b,op; while(scanf("%d",&T原创 2014-04-28 23:19:07 · 1010 阅读 · 0 评论 -
hdu 4862 Jump ( 最小费用流 )
建图:把每个格子编号,zhe原创 2014-07-23 19:29:19 · 593 阅读 · 0 评论 -
poj 3013 Big Christmas Tree (dij+优先队列优化 求最短路)
模板题意:给你一个图,1总是为根,每个边有单位价值,每个点有权重。每条边的价值 = sum(后继节点权重)*边的单位价值。求树的最小价值,即构成一棵树的n-1条边的最小价值。算法:1、因为每个边的价值都要乘以后来访问的节点的权重,而走到后来访问的点必经过这条边。实际上总价值就是 到每个点的最短路径*这个点的权重。2、但是这个题 数据量真的太大了,50000个点原创 2014-07-08 23:27:28 · 1081 阅读 · 0 评论 -
poj 3463 Sightseeing (dij 求最短路和次短路并计数)
dijkstra求最短路和次短路的求法和计算 模板dijkstra求最短路的变形。外循环要循环2*n-1次,因为dis[n][2]有2*n个状态,而dis[s][0]已经用过一次。算法:1、如果比最短路短就更新最短路和次短路。2、如果和最短路相等,更新最短路的计数。3、如果和次短路相等,更新次短路的方法数。4、如果比次短路短,更新次短路。#原创 2014-07-08 23:11:08 · 1305 阅读 · 0 评论 -
poj 3099 Go Go Gorelians (找树的直径确定树的中心)
题目很长,大意是思路:就是原创 2014-07-08 14:13:45 · 1257 阅读 · 0 评论 -
poj 3621 Sightseeing Cows ( 求最优比例生成环/01分数规划 )
题意:在给定的图中找一个环,使得SUM(点权)/sum(边权原创 2014-07-10 14:54:27 · 532 阅读 · 0 评论 -
hdu 5176 The Experience of Love(带权并查集+思维)
题意:给一棵树,求任意{两点路径上的最大边权值-最小边权值}的总和。解法:sigma(maxVal[i]−minVal[i])=sigma(maxVal)−sigma(minVal);所以我们分别求所有两点路径上的最大值的和,还有最小值的和。再相减就可以了。求最大值的和的方法用带权并查集,把边按权值从小到大排序,一条边一条边的算,当我们算第i条边的时候权值为wi,两点是ui,vi,前面加入的边权原创 2015-02-16 10:32:45 · 597 阅读 · 0 评论