图论
文章平均质量分 59
花酱_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Stock Chase hdu3357 图论
http://acm.hdu.edu.cn/showproblem.php?pid=3357 我把前辈的说明复制来。。 =.= 按所给的顺序,给出一条有向边,如果加上这条边会出现环,那就舍弃这条边,问一共有几条边要舍弃 如果加入的边a到b不会出现环,要做一次更新,有三类更新: i->a->b->j => i->j; i->a->b => i->b; a->b->j => a->j转载 2013-02-04 14:37:59 · 458 阅读 · 0 评论 -
变形课 hdu1181 图论
http://acm.hdu.edu.cn/showproblem.php?pid=1181 我用在前辈空间上看的的方法,更新情况分三种。 i->a->b->j => i->j; i->a->b => i->b; a->b->j => a->j; 这样比较简单的写了出来。 #include #include using namespace std; #define N 27 #原创 2013-02-05 21:54:57 · 517 阅读 · 0 评论 -
A strange lift hdu1548 Dijkstra算法
http://acm.hdu.edu.cn/showproblem.php?pid=1548 Dijkstra算法:单源最短路径问题 ——包括确定起点的最短路径问题,确定终点的最短路径问题(与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。) 确定起点终点的最短路径问题 ——即已原创 2013-02-01 20:11:37 · 487 阅读 · 0 评论 -
修路 bjfu 1046 最小生成树
描述 ben向往隐士生活。假设有一天ben和另外n-1个志同道合的人约好一起去隐居,并且他们已经找到了一个山清水秀,鸟语花香的神秘、绝佳去处。他们选出适宜居住n个位置后,又嫌交通不便,所以想修一些路将他们的居住场所连接起来。ben是个例外,他觉得既然隐居嘛,何必在乎交通呢。现在给定他们选出的n个居住地的坐标,请帮他们设计一种方案,也就是修n-2条路将其中n-1个居住地连接起来使修路的成本最小。(原创 2012-12-06 22:53:45 · 584 阅读 · 0 评论 -
Dark roads hdu2988 Kruskal
http://acm.hdu.edu.cn/showproblem.php?pid=2988 最小生成树啦。赤裸裸的Kruskal算法。这个题不能用Prim,因为没办法把二维数组开那么大哦。 嘿嘿~~ 还是比较简单的。 #include #include using namespace std; #define N 200005 int junctions[N]; struct r原创 2013-01-31 19:59:17 · 587 阅读 · 0 评论 -
More is better hdu1856 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1856 题意:老师想从10000000里面找尽可能多的学生帮他做项目,条件是这些人必须都认识。给n个关系,求最多有多少个人能帮助老师做项目。 因为数据量较大,如果不进行数据压缩的话就过不去。 #include using namespace std; #define N 10000005 int boy[原创 2013-01-26 11:31:55 · 638 阅读 · 0 评论 -
How Many Tables hdu1213 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1213 。。。好久没写代码了。= =。 非常简单的并查集。 #include using namespace std; #define N 1003 int people[N]; int findfather(int n){ if (n!=people[n]) people[n]=findfathe原创 2013-04-19 16:20:13 · 659 阅读 · 0 评论 -
Arbitrage hdu1217 Floyd算法
http://acm.hdu.edu.cn/showproblem.php?pid=1217 题意:给几个国家,然后给这些国家之间的汇率。判断能否通过这些汇率差进行套利交易。 Floyd的算法可以求出任意两点间的最短路径,最后比较本国与本国的汇率差,如果大于1,则可以。否则不可以。 最短路径,Floyd的算法原理: Floyd-Warshall算法的原理是动态规划。 设D(i,j,k)为原创 2013-01-30 19:52:14 · 1986 阅读 · 0 评论 -
Constructing Roads hdu1102 kruskal
http://acm.hdu.edu.cn/showproblem.php?pid=1102 最小生成树,用kruskal算法(克鲁斯克尔算法)。 步骤: 1.新建图G,G中拥有原图中相同的节点,但没有边 2.将原图中所有的边按权值从小到大排序 3.从权值最小的边开始,如果这条边连接的两个节点于图G中不在同一个连通分量中,则添加这条边到图G中 4.重复3,直至图G中所有的节点都在同一个原创 2013-01-29 17:03:48 · 475 阅读 · 0 评论 -
我想去旅行 bjfu 1126 并查集
描述 五一快到咯,大家都在计划着去哪里玩。EE呢,也在计划着出去玩,听说欧洲很浪漫,他就想趁这几天去欧洲几个国家玩玩。但是呢,有一个问题就是,他不知道他的钱在他想去的几个国家是否可以用。请你帮他判定一下他是否决定要不要去这几个国家旅游(假设两个国家的货币可以相互兑换,则表示他的钱可以在这两个国家使用) 输入 输入包括多组数据,每组数据第一行是两个数N,M(代表他一共想去N个国家,其中有M种兑原创 2012-11-02 23:52:37 · 549 阅读 · 0 评论 -
find the safest road hdu1596 最短路
http://acm.hdu.edu.cn/showproblem.php?pid=1596 。。就是简单的最短路。不过把最短路径的求法变了一下而已。 自己的代码。发现它跑了1500+MS,发现此题把时间放开了哦。 #include using namespace std; #define N 1005 double map[N][N],prob[N]; bool visited[N];原创 2013-01-29 19:50:18 · 559 阅读 · 0 评论 -
还是畅通工程 hdu1233 Prim
http://acm.hdu.edu.cn/showproblem.php?pid=1233 很久不写代码。敲一道最小生成树。赤裸裸的最小生成树。 #include using namespace std; #define N 105 #define MAX 0x7ffffff int map[N][N],dir[N]; bool visited[N]; int main(){ #ifn原创 2013-04-26 19:52:59 · 675 阅读 · 0 评论 -
畅通工程 hdu1232 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1232 题意:给N个城市,然后M条城市之间的道路,问至少再修多少条道路能让所有城市都连通。 赤裸裸的并查集~、 并查集三步策略:初始化、寻找父节点、合并。 #include using namespace std; #define N 1005 int town[N]; int findfathe原创 2013-01-25 21:35:38 · 469 阅读 · 0 评论 -
小希的迷宫 hdu1272 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1272 稍稍变异的并查集。 题意:给出几个等价关系,判断通过这些等价关系所有点是否都连通,并且每两个点之间只有一条路可走。若符合这两个条件,输出“Yes”,否则输出"No"。 #include using namespace std; #define N 100005 int room[N]; bool原创 2013-01-26 14:11:07 · 497 阅读 · 0 评论 -
Choose the best route hdu2680 Dijkstra
http://acm.hdu.edu.cn/showproblem.php?pid=2680 这个题,好艰辛。咳咳。 是一道多个起点,一个终点的最短路问题。 最初用Floyd交了回,超时了。1000的立方过亿了,用Floyd就会超时。 后来又笨笨的写了笨笨的dijkstra, 还是超时了。 后来又改进了dijkstra。出现了WA。原因 是这个题他居然是个有向图啊。~~ 后来改成有向图,原创 2013-02-06 11:17:47 · 408 阅读 · 0 评论 -
Jungle Roads hdu1301 Prim
http://acm.hdu.edu.cn/showproblem.php?pid=1301 就是一个最小生成树啦。 目测建立一个map,比建立一个road集合略容易,所以选择了Prim。还是比较基础的。 #include using namespace std; #define NROADS 78 #define INF 999 int map[NROADS][NROADS],dir[N原创 2013-02-07 11:43:15 · 589 阅读 · 1 评论
分享