题意:给你n种货币,再给你m种保证每个货币能换成其他的货币,其中 两个货币之中给你它们的汇率。要你求出能不能找到一种兑换的方式,使得最后兑换为起始的货币,使得自己赚钱了
思路:这个题目也是一个建图的模型。可以假设出,从某点出发,回到原点,自己的价值还增大了,所以只需要汇率的乘积到起始点的时候大于1就可以了。所以,明显的Floyd算法。
AC代码:
#include
#include...
分类:
其他好文 时间:
2014-11-06 21:55:50
阅读次数:
227
POJ 2112 Optimal Milking
题目链接
题意:给定一些机器和奶牛,在给定距离矩阵,(不在对角线上为0的值代表不可达),每个机器能容纳m个奶牛,问所有奶牛都能挤上奶,那么走的距离最大的奶牛的最小值是多少
思路:明显的二分+最大流,注意floyd求出的距离矩阵最大值可能不止200,所以二分的上限要注意
代码:
#include
#include
#...
分类:
其他好文 时间:
2014-11-05 21:26:38
阅读次数:
195
floyd模板 1 #include 2 #include 3 using namespace std; 4 int a[101][101],m,x,y,n; 5 int main() 6 { 7 scanf("%d",&n); 8 for(int i=1;i<=n;i++) 9 ...
分类:
其他好文 时间:
2014-11-04 22:28:56
阅读次数:
200
借bzoj1624练了一下模板(虽然正解只是floyd)spfa:#include #include #include #include #include #include using namespace std;const int INF=100001;const int maxm=10001,m...
分类:
其他好文 时间:
2014-11-04 09:12:58
阅读次数:
306
NOIP2013货车运输,只不过数据范围小了许多。
不到150s打完并且AC。。
额,当然,我写的是Floyd。
写LCA的真过分。
#include
#include
#include
#define N 305
#define inf 0x3f3f3f3f
using namespace std;
int n,m,q;
int map[N][N];
int main()
...
分类:
其他好文 时间:
2014-11-03 17:49:41
阅读次数:
184
题意:Floyd!!!直接说输入格式你们一定会做。
就是说多组数据,然后每组先一个n,然后n行,一个数是有几条出边(单向边),然后每条出边俩数分别为点和边权。
好了,现在求的是点x,使从x出发最远的点 最近,不懂直接看代码,风格良好!!!
#include
#include
#include
#define N 105
#define inf 0x3f3f3f3f
us...
分类:
其他好文 时间:
2014-11-02 09:25:34
阅读次数:
198
题意 给你n个点的坐标 求第1个点到第2个点的所有路径中两点间最大距离的最小值
很水的floyd咯
#include
#include
#include
#include
using namespace std;
const int N=205;
double d[N][N];
int x[N],y[N],n;
void floyd()
{
for(int k=1;k<=n;...
分类:
其他好文 时间:
2014-10-30 23:59:16
阅读次数:
406
题意 给你一个无向图的邻接矩阵 和途径每个点需要的额外花费首尾没有额外花费 求图中某两点之间的最短路并打印字典序最小路径
要求多组点之间的就用floyd咯 打印路径也比较方便 nex[i][j]表示从i点到j点最短路的第一个途经点 那么如果路径中加入一个节点k后 nex[i][j]应该更新为nex[i][k] 因为要途径k了
#include
#include
using nam...
分类:
其他好文 时间:
2014-10-30 11:41:33
阅读次数:
250
POJ 2594 Treasure Exploration
题目链接
题意:有向无环图,求最少多少条路径可以覆盖整个图,点可以重复走
思路:和普通的最小路径覆盖不同的是,点可以重复走,那么其实只要在多一步,利用floyd求出传递闭包,然后根据这个新的图去做最小路径覆盖即可
代码:
#include
#include
#include
#include
usin...
分类:
其他好文 时间:
2014-10-29 17:11:53
阅读次数:
201