
图论
文章平均质量分 55
h2952220
这个作者很懒,什么都没留下…
展开
-
poj 2263 Floyd
一开始又是试了一下求最长路径+路径记录,之后又试了一下权值取反求最短路径+记录……发现都行不通= =,之后bing了一下发现Floyd貌似不能出路有环的最长路径…………后来看书发现,原来直接改一下递推公式就变成了求“最大容量路”,即此题的算法! 灵活,灵活啊~ #include #include #include #include using namespace std; const原创 2012-08-10 21:51:47 · 584 阅读 · 0 评论 -
poj 1273 入门级最大流
很基本的最大流问题,注意重边就好…… 自己写了个EK模板,重边部分没有处理好,WA了好几次。 hdu 1523也是一样的题目(不过忘记杭电用I64d,poj用lld这个问题了……于是TLE了好几次……) /**** 裸最大流问题 EK算法 1004K 0MS C++ 3768B 2012-10-18 16:13:15 Ps:一开始Max = 1000 flow、lim数组原创 2012-10-18 15:56:17 · 576 阅读 · 0 评论 -
joj 1016 map + floyd
只要把数据稍微弄弄就是比较裸的算法题,就不解释了 #include #include #include #include #include using namespace std; const int Max = 20; int Edge[Max][Max]; void Floyd(int n) { for(int i=1; i<=n; i++) {原创 2012-09-21 00:27:16 · 334 阅读 · 0 评论 -
poj 1556 线段相交 + 最短路
这道题思路很简单,但是不知道为什么我实现的时候觉得极其恶心……于是憋了一天一夜,终于憋出来了,心情舒畅 题解: 很明显我们最后要跑的是最短路,所以现在的目标是构建一个无向\有向图(随意有无向) 图的构建:枚举起点 + 终点 + 题目给出的所有点 之间的任意两点间是否存在路径。枚举的时候还要判断这条边是否被堵。 最后就是跑一遍最短路 关于实现: 主要就是建图的问题。我为了方便自己理解分别原创 2012-09-18 18:04:52 · 411 阅读 · 0 评论 -
poj 1386 欧拉回路
由于题目的单词个数太大,不可能也没必要记录每个单词。 所以只要记录首尾两个单词即可。 又由于只有26个点(a~z),而且是判断有向的欧拉回路\欧拉通路 so,用in,out数组分别记录每个点的出入度,然后结尾比较所有出现的点的出入度是否相等,或者有除首位两个点(出度入度之差分别为1和-1)外其他点都相等即可。 由于懒得将小写字母的ASCII码转化为0~25,于是直接开了300的数组(其实1原创 2012-08-17 15:26:02 · 3789 阅读 · 0 评论 -
joj 1002 最短路-Floyd
貌似很多人看不懂题意,我解释一下一组数据估计就懂了 3 2 2 4 3 5 2 1 2 3 6 2 1 2 2 2 表示有3个股票经纪人 第一行表示第一个股票经纪人的联系人,第一个2表示有2个联系人,2 4表示与第二个联系人有联系,传播到第二个联系人需要4(单位(/ □ \)),3 5表示传播到第三个联系人需要5(单位) 下面同上。 由于是同时传播,所以用最短路找某一点与任一点的原创 2012-08-27 23:02:38 · 352 阅读 · 0 评论 -
hdu 4263
这道题目的意思的解释解释: 题目给出n个节点,m条边(小于n*n,使得n个节点都连通),k值。要求我们判断能否只用k条蓝色边(外加给定的任意条红色边)使得所有节点形成一个生成树(n-1条边把n个节点全部连起来) 题解: 在比赛的时候想出了一个错误的做法= =!结果一下午WA…… 正确的是将蓝边和红边分别跑一边最小生成树(Kruscal算法),跑的时候记录有多少条边加了进来。 设c原创 2012-08-25 23:37:21 · 551 阅读 · 0 评论 -
CodeForces Ice Skatin
先贴题目: A. Ice Skating time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Bajtek is learning to skate on ic原创 2012-08-18 22:18:40 · 486 阅读 · 0 评论 -
hdu 4370 0 or 1(最短路+最小花费环)
一道非常巧妙的题目,引用别人博客的话就是“将完全没有思路的一道题目一下子编程了简单的最短路” 当然,最短路还不是问题的全解,后来众牛发现除了最短路还有一个最小花费环的情况。 贴一下官方的题解:(http://page.renren.com/601081183/note/866168965) ////// 1001 (已更新) 显然,题目给的是一个0/1规划模型。 解题的关原创 2012-08-17 13:37:04 · 761 阅读 · 0 评论 -
求图的最长路径
1。 肯定不能用dijkstra算法,这是因为,Dijkstra算法的大致思想是每次选择距离源点最近的结点加入,然后更新其它结点到源点的距离,直到所有点都被加入为止。当每次选择最短的路改为每次选择最长路的时候,出现了一个问题,那就是不能保证现在加入的结点以后是否会被更新而使得到源点的距离变得更长,而这个点一旦被选中将不再会被更新。例如这次加入结点u,最长路为10,下次有可能加入一个结点v,使得u通转载 2012-08-10 21:33:39 · 1785 阅读 · 0 评论 -
poj 1300 Door Man
貌似主要考的是输入输出…… 由于在START M N后面回车的处理不当导致WA*N,反正貌似scanf("%d%d\n",&a,&b)之流不管用。还是直接getchar()好。。 欧拉回路小题 1.判断所有边的度是否为偶数,并且起始点在0(因为最后要回到0点),则有欧拉回路 2.如果起始点m和0点的度数为奇数,并且m不为0,则有欧拉通路 其他,不满足 #include #includ原创 2012-08-13 17:29:08 · 709 阅读 · 1 评论