问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。 输入格式 第一行两个整数n, m。 接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。 输出格式 共n-1行,第i行表示1号点到i+1号
分类:
其他好文 时间:
2016-03-07 16:45:14
阅读次数:
215
http://poj.org/problem?id=3159 差分约束系统 (spfa+ 队列)会TLE,(spfa+stack)可以过,不过有点奇葩的是建边时 输入 (a,b,c) 如果连边 w(b,a)=c 然后 做 spfa(n),输出dis[1]会超时。反过来 连边 w(a,b)=c,然后做
分类:
其他好文 时间:
2016-03-02 22:02:52
阅读次数:
216
题目大概是给一张有向图,有n张票,每张票只能使用一次,使用一张票就能用pi匹马拉着走过图上的一条边,走过去花的时间是边权/pi,问从a点走到b点的最少时间是多少。 用dp[u][S]表示当前在u点且用过的票集合是S的最少时间,丢进SPFA更新。 1 #include<cstdio> 2 #inclu
分类:
其他好文 时间:
2016-03-02 00:08:58
阅读次数:
247
给一张有向无环图,边都有花费,从某点到某点走的那条路径上的那一条花费最多的边可以省掉,问从起点到终点的最少花费的多少, 往DP想的话,就可以写出这个状态dp[u][mx],表示到达u点已经省掉的花费为mx的最少花费。 用SPFA更新转移方程。。或者理解成队列+我为人人的转移。。其实这题这样子也能解有
分类:
其他好文 时间:
2016-02-27 17:53:52
阅读次数:
176
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <queue> 5 using namespace std; 6 const int INF=233333333; 7 const int maxn=1
分类:
其他好文 时间:
2016-02-27 12:30:54
阅读次数:
311
题意:给出n个圆心及半径,再给出一个特殊圆心及半径,问这个圆能不能逃出这n个圆的包围 首先先处理一下,将所有圆平移,使特殊圆在原点上,然后其他圆半径加上特殊圆的半径,这样特殊圆就可看成一个点而已,问题变为该点是否可以逃出实际上对于相交的两个圆,我们可以用他们圆心连线来代替它们。这样问题变为是否存在一
分类:
其他好文 时间:
2016-02-26 23:21:03
阅读次数:
255
Description 现在,保密成为一个很重要也很困难的问题。如果没有做好,后果是严重的。比如,有个人没有自己去修电脑,又没有拆硬盘,后来的事大家都知道了。 当然,对保密最需求的当然是军方,其次才是像那个人。为了应付现在天上飞来飞去的卫星,军事基地一般都会建造在地下。 某K国的军事基地是这样子的:
分类:
其他好文 时间:
2016-02-26 21:49:20
阅读次数:
228
( ̄▽ ̄)" #include #include #include #include #include #include #include #include using namespace std; const int MAXN=40; int n,m; double Vcur[MAXN],R[MA...
分类:
其他好文 时间:
2016-02-18 01:13:40
阅读次数:
133
( ̄▽ ̄)" #include #include #include #include #include #include using namespace std; const int INF=10e7; const int MAXN=510; int f,n,m,w,s,e,t; int lc[MA...
分类:
其他好文 时间:
2016-02-18 01:11:14
阅读次数:
192
平面图转对偶图以最短路得最小割。 注意写spfa的时候要把vis[head]=false写在循环的最后面。 要不然就会WA整整一天。 #include<iostream>#include<cstdio>#include<queue>#include<cstring>#define maxv 1005
分类:
其他好文 时间:
2016-02-16 23:34:04
阅读次数:
343