HDU 1596 floyd】的更多相关文章

find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10450    Accepted Submission(s): 3694 Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1…
HDU.1596 find the safest road (Floyd) 题意分析 与普通的最短路不太相同,本题有些许的变化. 1. 要找到由i到j最安全的路,故在求解的时候要保证mp[i][j]尽量大,而不是尽量小. 2. 当mp[i][j] = 0的时候表示无法通过,而不是为无穷大的时候无法通过. 3. 路程求解过程中,安全系数是相乘的关系,不是按照普通路径的相加的关系. 4. 此题n^3的Floyd竟然能过,我惊了. 代码总览 #include <bits/stdc++.h> #def…
http://acm.hdu.edu.cn/showproblem.php?pid=1596 find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6911    Accepted Submission(s): 2450 Problem Description XX星球有很多城市,每个城市之间有一条或…
http://acm.hdu.edu.cn/showproblem.php?pid=1596 #include <cstdio> #include <cstring> #include <algorithm> #define maxn 1001 using namespace std; double g[maxn][maxn]; int dis[maxn]; bool vis[maxn]; int n,a,b; void floyd() { ; k<=n; k++…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1869 题意分析:比较简单的最短路算法,最后只需判断最远两点距离是否大于7即可. /*六度分离 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4992 Accepted Submission(s): 2010 Problem Descriptio…
find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6973    Accepted Submission(s): 2469 Problem Description XX星球有非常多城市,每一个城市之间有一条或多条飞行通道,可是并非全部的路都是非常安全的,每一条路有一个安全系数s,s是在 0 和…
Rank Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1622    Accepted Submission(s): 625 Problem Description there are N ACMers in HDU team.ZJPCPC Sunny Cup 2007 is coming, and lcy want to selec…
这道题怎么都是TLE,报警了,先放在这 http://acm.hdu.edu.cn/showproblem.php?pid=1596 #include <iostream> #include <iomanip> using namespace std; #define MAXVEX 1001 double matrix[MAXVEX][MAXVEX]; double D[MAXVEX]; int n; void Dijkstral(int v0) { ; double max; i…
题目 这是用Dijsktra做的,稍加改动就好,1000ms..好水.. #define _CRT_SECURE_NO_WARNINGS #include<string.h> #include<stdio.h> #include<math.h> #include<algorithm> using namespace std; ; #define typec double const typec INF=0x3f3f3f3f;//防止后面溢出,这个不能太大 b…
思路: 我们先求一遍floyd,将各点的最短距离求出,然后将点按si的升序排序.dp[i][k]表示第i个点在第j时间所获得的最大效益,那么 dp[i][k]=max(dp[ i ][ k ]  ,  dp[ j ][ k-p[ i ].c-dis[ i ][ j ] ]+p[ i ].s);     dis[i][j]为i与j的最短路径. #include<iostream> #include<cstdio> #include<cstring> #include<…
XYZZY Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4421    Accepted Submission(s): 1252 Problem Description It has recently been discovered how to run open-source software on the Y-Crate gami…
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 29572    Accepted Submission(s): 10160 Problem Description 虽 然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能…
题目大意: 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离. 思路: floyd算法模板题,这是一个牺牲空间换取时间的算法,本质是动态规划. AC代码: #include <iostream> #include <cstdio> #include <string.h> using namespace std; +; const int INF = 0x3f3f3f3f; int n, m; int mp[MX][MX]; void floyd()…
Floyd 输出路径 Sample Input50 3 22 -1 43 0 5 -1 -122 5 0 9 20-1 -1 9 0 44 -1 20 4 05 17 8 3 1 //收费1 3 //起点 终点3 52 4-1 -10 Sample OutputFrom 1 to 3 :Path: 1-->5-->4-->3Total cost : 21 From 3 to 5 :Path: 3-->4-->5Total cost : 16 From 2 to 4 :Path…
http://acm.hdu.edu.cn/showproblem.php?pid=5418 题目大意是城市的编号是1到n,给出m条路线,表示从a城市飞到b城市飞机要耗多少油,最后问飞机从1出发飞过所有的的城市最后再回到1最少耗多少油(数据保证至少存在一条这样的路), 要考虑的问题是满足全部连通和保证最短,最短好说,用弗洛伊德或者迪杰特斯拉,至于这个全部连通,一下子连想到了之前的状压搜索,用二进制保存是否经过所有的点,最后整理一下就是先 用弗洛伊德求出每从起点1到各个点的最短距离,然后哈密顿算法…
这道题貌似在原来学长给我们的搞的小比赛中出过! 这次又让我遇到,果断拿下! 不过方法很蠢,跑了1000多ms,虽然要求5000ms以内! 题目就是给你一些位置之间的距离,然后再让你求特定的两点之间的距离!就是个样子滴! 只不过这道题更切合实际,给你的位置是字符串! 我的处理方法是将字符串转化为数字,数字不就是我们最熟悉的了吗!嘎嘎嘎··················· #include<stdio.h> #include<string.h> #define MAX 1000000…
Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11017    Accepted Submission(s): 3058 Problem Description These are N cities in Spring country. Between each pair of cities…
find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6119    Accepted Submission(s): 2178 Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间…
可以用floyd 直接记录相应路径 太棒了! http://blog.csdn.net/ice_crazy/article/details/7785111 #include"stdio.h" #include"string.h" int n; int tax[111]; int map[111][111]; int path[111][111]; void floyd() { int temp; int k,i,l; for(i=1;i<=n;i++) for…
Problem - 1596 变形最短路问题,给出邻接矩阵,要求求出给定点对间安全率最大值. 这题可以用dijkstra+heap来做.对于每一个查询,做一次dij即可. 代码如下: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <queue> using namespace std; ; double wt[N][N]…
Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条从u 到 v 的通道P 的安全度为Safe(P) = s(e1)*s(e2)…*s(ek) e1,e2,ek是P 上的边 ,现在8600 想出去旅游,面对这这么多的路,他想找一条最安全的路.但是8600 的数学不好,想请你帮忙 ^_^   Input 输入包括多个测试实例,每个实例包括:第一行:n.…
一般题是 和的最小值 这个是乘积的最大值 Sample Input31 0.5 0.50.5 1 0.40.5 0.4 131 2 //起点 终点2 31 3 Sample Output0.5000.4000.500 Dijkstra: # include <iostream> # include <cstdio> # include <cstring> # include <algorithm> # include <cmath> # defi…
Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条从u 到 v 的通道P 的安全度为Safe(P) = s(e1)*s(e2)-*s(ek) e1,e2,ek是P 上的边 ,现在8600 想出去旅游,面对这这么多的路,他想找一条最安全的路.但是8600 的数学不好,想请你帮忙 ^_^   Input 输入包括多个测试实例,每个实例包括: 第一行:n…
#include<cstdio> #include<cmath> #include<cstring> +; double dist[qq]; double city[qq][qq]; int vis[qq]; int n,m; int s,e; void Dijkstra() { double MAX; int u; ;i<=n;++i){ vis[i]=; dist[i]=city[s][i]; } vis[s]=; ;l<=n;++l){ MAX=;u=…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1217 /************************************************************************/ /* hdu Arbitrage floyd求最短路径 题目大意:floyd算法,求得两点之间最短距离,(u,v) = min( (u,v),(u,w)+(w,v) ); 此题,是求其能够赚钱,即最大生成树,且过程是相乘的,公式:( u, v) =…
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3665/ Floyd是经典的dp算法,将迭代过程分成n个阶段,经过n个阶段的迭代所有点对之间的最短路径都可以求出,时间复杂度是O(n^3). 代码如下: #include<bits/stdc++.h> using namespace std; typedef unsigned int ui; typedef long long ll; typedef unsigned long long ull; #defi…
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1599 find the mincost route Time Limit: 1000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7047    Accepted Submission(s): 2736 Problem Description 杭州有N个景区,景区之间有一…
HDU 5418 Victor and World Time Limit:2000MS     Memory Limit:131072KB     64bit IO Format:%I64d & %I64u After trying hard for many years, Victor has finally received a pilot license. To have a celebration, he intends to buy himself an airplane and fl…
貌似···················· 这个算法深的东西还是很不熟悉!继续学习!!!! ++++++++++++++++++++++++++++ ============================ ++++++++++++++++++++++++++++ ------------------------------------------------- ============================ #include<stdio.h> #include<string…
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 Arbitrage Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4430    Accepted Submission(s): 2013 Problem Description Arbitrage is the use of discr…