http://acm.zju.edu.cn/onlinejudge/showProblem.do?

problemId=655

没有理解清题意就硬套模板。所以WA了好几次。

解析看我的还有一篇http://blog.csdn.net/u011026968/article/details/35579035

贴代码

#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std;
#define ll long long #define INF2 0x03F3F3F3F
#define INF 1.0
const int N=100+10;
int path[N];
bool vis[N];
double cost[N][N],lowcost[N],h[N];
double ans;
int n,m;
void Dij()
{
int i,j,beg=0;
double mmin;
memset(vis,0,sizeof(vis));
vis[beg]=1;
for(i=0;i<n;i++)
{
lowcost[i]=cost[beg][i];path[i]=beg;
}
lowcost[beg]=0;
path[beg]=-1;
int pre=beg;
for(i=1;i<n;i++)
{
mmin=-1;
for(j=0;j<n;j++)
if(vis[j] == 0 && lowcost[pre]*cost[pre][j]>lowcost[j])
{
lowcost[j]=lowcost[pre]*cost[pre][j];
path[j]=pre;
}
for(j=0;j<n;j++)
if(vis[j]==0 && lowcost[j]>mmin)
{
mmin=lowcost[j];
pre=j;
}
vis[pre]=1;
}
} void Init()
{
ans=0.0;
for(int i=0;i<=n;i++)
for(int j=0;j<=n;j++)
cost[i][j]=-1,lowcost[i]=0;
} void Addedge()
{ int u,v;
double tmp;
h[0]=0;
for(int i=1;i<n;i++)
scanf("%lf",&h[i]);
for(int i=0;i<m;i++)
{
scanf("%d%d%lf",&u,&v,&tmp);
if(u == n)u=0;
if(v == n)v=0;
if(cost[u][v]<1.0-tmp)//////////
cost[u][v]=cost[v][u]=1.0-tmp;
}
}
/*double dfs(int i,double ret)
{
if(path[i])return dfs(path[i],ret)*cost[path[i]][i];
return ret*cost[0][i];
}*/
int main()
{
//freopen("zoj1655.txt","r",stdin);
while(~scanf("%d%d",&n,&m))
{
Init();
Addedge();
Dij();
for(int i=1;i<n;i++)
{
//ans+=dfs(i,h[i]);
ans+=h[i]*1.0*lowcost[i];
}
printf("%.2lf\n",ans);
}
return 0;
}

zoj 1655 单源最短路 改为比例+最长路的更多相关文章

  1. 最短路模板(Dijkstra & Dijkstra算法+堆优化 & bellman_ford & 单源最短路SPFA)

    关于几个的区别和联系:http://www.cnblogs.com/zswbky/p/5432353.html d.每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个(草儿家到 ...

  2. [ACM_图论] Domino Effect (POJ1135 Dijkstra算法 SSSP 单源最短路算法 中等 模板)

    Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...

  3. 单源最短路模板(dijkstra)

    单源最短路(dijkstra算法及堆优化) 弱化版题目链接 n^2 dijkstra模板 #include<iostream> #include<cstdio> #includ ...

  4. 用scheme语言实现SPFA算法(单源最短路)

    最近自己陷入了很长时间的学习和思考之中,突然发现好久没有更新博文了,于是便想更新一篇. 这篇文章是我之前程序设计语言课作业中一段代码,用scheme语言实现单源最段路算法.当时的我,花了一整天时间,学 ...

  5. 单源最短路_SPFA_C++

    当我们需要求一个点到其它所有点的最短路时,我们可以采用SPFA算法 代码特别好写,而且可以有环,但是不能有负权环,时间复杂度是O(α(n)n),n为边数,α(n)为n的反阿克曼函数,一般小于等于4 模 ...

  6. 【UVA1416】(LA4080) Warfare And Logistics (单源最短路)

    题目: Sample Input4 6 10001 3 21 4 42 1 32 3 33 4 14 2 2Sample Output28 38 题意: 给出n个节点m条无向边的图,每条边权都为正.令 ...

  7. 【算法系列学习】Dijkstra单源最短路 [kuangbin带你飞]专题四 最短路练习 A - Til the Cows Come Home

    https://vjudge.net/contest/66569#problem/A http://blog.csdn.net/wangjian8006/article/details/7871889 ...

  8. 模板C++ 03图论算法 1最短路之单源最短路(SPFA)

    3.1最短路之单源最短路(SPFA) 松弛:常听人说松弛,一直不懂,后来明白其实就是更新某点到源点最短距离. 邻接表:表示与一个点联通的所有路. 如果从一个点沿着某条路径出发,又回到了自己,而且所经过 ...

  9. 2018/1/28 每日一学 单源最短路的SPFA算法以及其他三大最短路算法比较总结

    刚刚AC的pj普及组第四题就是一种单源最短路. 我们知道当一个图存在负权边时像Dijkstra等算法便无法实现: 而Bellman-Ford算法的复杂度又过高O(V*E),SPFA算法便派上用场了. ...

随机推荐

  1. web前端项目规范

    项目目录规范 . ├─ css ├─ component ├─ img ├─ js ├─ page ├─ test ├─ package.json ├─ README.md css 存放样式类文件,且 ...

  2. table的创建

    results为table的行信息 columnNames  是table列名 //创建并初始化table: table =new JTable(results,columNames); //设置ta ...

  3. Webserver管理系列:4、WinPE

    WinPE能够识别NTFS分区,使用WinPE能够备份/还原系统.能够重置用户password. 首先给大家看下怎样用WinPE重置password: 放入WinPE光盘-〉启动后-〉点開始菜单-〉程 ...

  4. m_Orchestrate learning system---十九、局部变量和块变量是什么

    m_Orchestrate learning system---十九.局部变量和块变量是什么 一.总结 一句话总结:下面的global的使用情况可以很好的解释这个问题 这是在一个函数里面,只不过里面有 ...

  5. Redis-4-链表结构

    Redis-4-链表结构 标签(空格分隔):redis lpush key value 作用: 把值插入到链接头部 rpop key 作用: 返回并删除链表尾元素 lrange key start s ...

  6. POJ 3048 线性筛法求素数

    一个坑: 有组数据如下: 1 1 坑很深-- //By SiriusRen #include <cstdio> #define N 200000 using namespace std; ...

  7. vue keep-alive保存路由状态2 (高级用法,接上篇)

    接上篇 https://www.cnblogs.com/wangmaoling/p/9803960.html 本文很长,请耐心看完分析. 4.高级用法,指定从什么组件进入才缓存,以及销毁缓存:先介绍我 ...

  8. ios上有时候提交按钮点击两次才可以取消输入框软键盘

    ios上有时候提交按钮点击两次才可以取消输入框软键盘,点击第一次软键盘消失,点击第二次输入框页面消失,这样用户体验不好.我的做法是用 touchstart 代替click来处理 反应快,但是有时候会出 ...

  9. Re:从 0 开始的微服务架构--(三)微服务架构 API 的开发与治理--转

    原文来自:聊聊架构公众号 前面的文章中有说到微服务的通信方式,Martin Folwer 先生在他对微服务的定义中也提到“每个服务运行在其独立的进程中,服务与服务间采用 轻量级的通信机制 互相协作(通 ...

  10. SpringBoot(一) 基础入门

    SpringBoot简要 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 自动配置:针对很多Spring应用程序常见的应用功能,Spring ...