Start_图论
文章平均质量分 77
绝风
这个作者很懒,什么都没留下…
展开
-
POJ 1125
#include using namespace std;#include #include #include #include const int MAX=101;int d[101][101];int inf=21000000;int n;int xiabiao;int floyd(){ int min_in_max=inf; for(int k=1;k<=原创 2014-03-03 10:59:47 · 862 阅读 · 0 评论 -
CF95C volleyball [最短路+想法]
给出一个图,双向边,边上有权值代表路的距离,然后每个点上有两个值,t,c,t代表能从这个点最远沿边走t,且不能在半路下来,花费是c现在告诉你起点终点,问最少的花费点个数1000,边个数1000,边权1e9建新图对每个点求一次最短路,然后,连边,u:这个点,v:从这个点到其他点距离小于t的点,w:这个点的花费c,然后把新图以起始点为原点跑一边最短路,输出dis[终点]原创 2014-10-06 21:15:05 · 620 阅读 · 0 评论 -
【多校赛第三场】Redraw Beautiful Drawings【网络流】【谜のWA】
参考题解:http://blog.csdn.net/qian99/article/details/38276887 #include #include #include #include #include #include #include #include using namespace std;int m,n,K;const int INF=1<<30;const原创 2014-08-03 23:20:03 · 364 阅读 · 0 评论 -
POJ2253 Frogger 【Floyd】
讲的是,一只雄青蛙要从一个石头到另外一个石头上去找某只雌青蛙,但是这两个石头隔得太远,青蛙跳不过去,所幸,湖面上还有很多其他石头,所以青蛙可以借助别的石头一步一步地跳向那只雌青蛙所在的石头。显然青蛙可能有多种路径,比如其中一条是 2,3,4,2,1 ,它跳了五次,数字代表每次跳的距离也就是路径上相邻两个石头之间的距离,那么这只青蛙的弹跳能力至少是4才能跳过去。在其他的路径中,可能要求青蛙的弹跳是5原创 2014-05-31 23:53:39 · 787 阅读 · 0 评论 -
POJ1062 Expensive dowry 【最短路dijkstra】
详细看:http://blog.csdn.net/lyy289065406/article/details/6645852简单说一下:每个物品是一个结点,边的权值是,edge[u][v]的值表示用物品u换物品v的价格一开始所有物品都置为原价,即所有dist[i]为原价,用dijkstra算法,算出0点(啥物品都没有)到各点的最短距离,求出dist[1]即为花费枚举每个物品的等级为这条交原创 2014-05-31 17:04:16 · 877 阅读 · 0 评论 -
POJ2139 Six Degrees of Cowvin Bacon [Floyd]
水题,随手敲过一看就是最短路问题,a,b演同一场电影则他们的距离为1默认所有两两原始距离无穷,到自身为0输入所有数据处理后floyd然后照它说的求平均分离度再找最小的,×100取整输出#include #include #include using namespace std;int cownum,filmnum;int film[11111][333];int原创 2014-07-04 23:44:00 · 646 阅读 · 0 评论 -
POJ3259 Wormholes 【Bellmanford判断是否存在负回路】
很简单的bellmanford题目,这里比较详细:http://blog.csdn.net/lyy289065406/article/details/6645790直接代码#include #include #include #include #include #include using namespace std;const int SIZE=11111;const i原创 2014-05-30 03:06:09 · 1208 阅读 · 0 评论 -
poj3249 Test for job 【图的DAG dp】
#include #include #include #include #include #include #include #include using namespace std;const int MAX=111111;int N,E;int v[MAX];const int MINF=-210000000;int in[MAX],out[MAX];int dp[原创 2014-06-26 17:53:37 · 578 阅读 · 0 评论 -
poj 2391Ombrophobic Bovines 【蛮简单的网络流】
。。。第一个网络流的题目牛淋雨什么的,建图,用模板之#include #include #include #include #include #include #include using namespace std;long long F,P;long long cowsum;const int MAX=555;long long tttt=(1<<31)-1;c原创 2014-06-26 17:47:08 · 551 阅读 · 0 评论 -
POJ1149 PIGS【特殊建图,最大流】
看题解做的,看懂了怎么建图后,套上挑战icpc的最大流模版,就A了,上题解题意:M个猪圈,N个顾客,每个顾客有一些的猪圈的钥匙,只能购买这些有钥匙的猪圈里的猪,而且要买一定数量的猪,每个猪圈有已知数量的猪,但是猪圈可以重新打开,将猪的个数,重新分配,以达到卖出的猪的数量最多。思路:刚学网络流,表示很菜很菜很菜~~①构造网络,将顾客看成源点和汇点以外的结点,并设另外两个节点:源点和汇点。②源点和原创 2014-06-04 10:36:28 · 995 阅读 · 0 评论 -
HDU4081 Qin Shi Huang's National Road System【prim最小生成树+枚举】
先求出最小生成树,然后枚举树上的边,对于每条边“分别”找出这条割边形成的两个块中点权最大的两个1.由于结果是A/B,A的变化会引起B的变化,两个制约,无法直接贪心出最大的A/B,故要通过枚举2.不管magic road要加在哪里,加的边是否是最小生成树上的边,都会产生环,我们都要选择一条边删掉注意删掉的边必须是树的环上的边,为了使结果最大,即找出最大的边3.可以枚举两点,找出边,也原创 2014-06-04 00:11:42 · 949 阅读 · 1 评论 -
POJ2186 Popular Cows 【裸缩环+Gabow算法强连通分量分解再建图】
这题比较裸,根据牛的膜拜情况建图,然后强连通分量处理,处理后再建新图,记录出度入度,找出所有出度为0的,如果有2个及以上的,则输出(0),很简单,不可能有被所有牛膜拜的牛了(因为这几个结点互相不可达)。如果只有一个,看这个缩环里面有几个原来的结点,就是答案。用vector还是有点慢,得好好熟悉一下两个数组维护的那个邻接表,一个数组存每个结点的边链表的末尾边的序号,每条边是一个结构体,下标就是边原创 2014-06-03 16:06:30 · 1000 阅读 · 0 评论 -
POJ1511 Invitation Cards 【最短路】
从2:30PM到10:30PM,做了好久啊,先用dij+heap没弄出来,后来一找题解,都是SPFA,那个用两个数组维护图的还真是很赞,,,虽然看了很久,然后用了个例子比划比划就好了。本来自己写的邻接表TLE超时很沮丧,然后就照着题解的思路往下做了,用俩数组维护图+SPFA,开上IO挂,A了,1000ms(题目要求8000ms)后来试了试vector果然慢得不行,意料之中然后又回头看看原创 2014-06-02 23:06:22 · 854 阅读 · 0 评论 -
POJ1860
#include using namespace std;#include #include #include #include #include int n,m,s;double v;int all;class excel{public: int a; int b; double r; double c;}exc[202];double原创 2014-03-03 23:12:54 · 512 阅读 · 0 评论 -
HDU4421 Bit Magic 【2-sat】
描述:给出这样的一个矩阵,求原来的a数组2-sat题,对每个位跑一边,跑31个位即可具体建边注意N=1的情况特判,还有检查对称元素是否相同#include #include #include #include #include #include #define pb push_back#include using namespac原创 2014-10-08 10:45:06 · 983 阅读 · 0 评论