上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 题意:给出一个有向图,定义:若节点v所有能到达的点{wi},都能反过来到达v,那么称节点v是sink。题目要求所有的sink点。思路:强连通缩点找出出度为零的点,输出即可。这题主要问题是读题,了解题意之后就好做了,然后在数组开小了导致WA?挺莫名其妙的。。代码:#include #include #... 阅读全文
posted @ 2013-08-02 16:08 amourjun 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题意:给出每个学校的list 代表该学校能链接的其他学校,问1:至少给几个学校资源使所有学校都得到;2:至少加多少个边能让所有学校相互连通;思路:1:找出缩点后入度为零的点个数 2:找出缩点后入度为零个数和出度为零个数之间的最大值。这题主要是在思考出入度和连通间的关系,了解了这个关系后就很水了。同时... 阅读全文
posted @ 2013-08-01 15:06 amourjun 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题意:求图的一个生成树使其最大边权与最小边权的差值最小,求其最小值思路:利用贪心思想,先对边进行排序,然后从最小边开始枚举,每次进行kruskal向右加入边,若加入边刚好能遍历所有点,记录最后加入的边与第一个边的差值。最后得到最小值。在kruskal枚举第一个边的时候没有加入判断是否剩下的边能够组成... 阅读全文
posted @ 2013-07-31 20:57 amourjun 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题意:判断最短路是否唯一。思路:先prrim一次求出最短路同时记录最短路加入的边;然后枚举所求边,将其删除再求n-1次prim,判断再次所求得的最短路与第一次求得的次短路的关系。代码:#include#include#include#define MAXN 5050#define inf 10000... 阅读全文
posted @ 2013-07-29 20:45 amourjun 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个有向图,问求一个回路,使得回路上的点权之和/边权之和最大。这题主要是分析出如何确定ans值。我们将(a1*x1+a2*x2+..+an*xn)/(b1*x1+b2*x2+..+bn*xn)=L,转换为:x1*(a1-b1*L)+x2*(a2-b2*L)+...xn*(an-bn*L)=... 阅读全文
posted @ 2013-07-29 17:23 amourjun 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题意:本题的大意就是问从S 到 T 经过边得个数恰为k的最短路是多少。思路:对于邻接矩阵每一次floyd求的是每个点间的最短距离,则n次floyd就是每个点间n条路的最短距离(可以重复边);但是由于k次floyd时间复杂度会超,则运用了快速幂的方法。代码:#include #include #inc... 阅读全文
posted @ 2013-07-28 17:55 amourjun 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 这题需要很好的理解Dij。在Dij的基础上,每个点多一个次短路的长度和数量进行控制。那么在队列中,最短路控制时出现n次,次短路控制出现n次。注意松弛条件中val值和最短路、次短路的关系。这题需要了解的是,对vis[i][0]控制确定每个点的最短路长度,对vis[i][1]控制确定每个点的次短路长度。... 阅读全文
posted @ 2013-07-28 16:44 amourjun 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 练习!!这里主要需要注意的是进队的条件和dp[][]状态的控制,dp[i][j]表示到第i个城市剩余汽油为j的最小花费。代码:#include#include#include#include#define inf 100000000#define MAXN 1200#define MAXM 1200... 阅读全文
posted @ 2013-07-26 20:16 amourjun 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 首先看题看的很懵..然后这题直接没想用Djstra做 TLE了。看discuss,Dijstra要用堆优化,也可以用SPFA做。这里在网上找了这两种做法的区别,点多稠密图用Dij,以为它是操作点的,反之则用SPFA。好久没做题了,前一段时间尽做水题去了。还有这一道题的数据巨大,各种WA。要用__in... 阅读全文
posted @ 2013-07-21 16:27 amourjun 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 这题一开始的思路应该是直接从源点进行BFS搜索K短路。但这样的复杂度在点数和K的值增大后将会变得很大。而A*算法则构造一个h(x),在进行BFS时,每次都抛出最小的h(x)从而使汇点的出队速度加快。这题则是先进行一次Dijstra求出每个点到汇点的最短路h(x)从而在优先队列中抛出最小的f(x)A*... 阅读全文
posted @ 2013-07-18 10:21 amourjun 阅读(116) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页