description


analysis

  • 显然边权有变化规律\(x,{1\over{x-1}},{x-1\over x},x,...\)

  • 于是把一个点拆成三个点,分别表示步数到除\(3\)余\(0,1,2\)的最小值

  • 拆边的话应该也可以,然后跑最短路

  • 我™这辈子都不会再想打SBFA


code

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<queue>
#define db double
#define MAXN 600005
#define MAXM MAXN*4
#define INF 19260817e20
#define reg register int
#define fo(i,a,b) for (reg i=a;i<=b;++i)
#define fd(i,a,b) for (reg i=a;i>=b;--i)
#define rep(i,a) for (reg i=last[a];i;i=next[i])using namespace std;int last[MAXM],next[MAXM],tov[MAXM];
db len[MAXM],dis[MAXN],ans=INF;
bool bz[MAXN];
int n,m,tot;inline int read()
{int x=0,f=1;char ch=getchar();while (ch<'0' || '9'<ch){if (ch=='-')f=-1;ch=getchar();}while ('0'<=ch && ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;
}
inline db min(db x,db y){return x<y?x:y;}
inline void link(int x,int y,db z){next[++tot]=last[x],last[x]=tot,tov[tot]=y,len[tot]=z;}
struct node
{int x;db y;bool operator <(const node &a)const{return a.y<y;}
};
priority_queue<node>q;
inline void dijkstra()
{while (!q.empty())q.pop();memset(dis,100,sizeof(dis));memset(bz,0,sizeof(bz));q.push((node){3,dis[3]=0});while (!q.empty()){node now=q.top();q.pop();if (bz[now.x])continue;bz[now.x]=1;rep(i,now.x)if (dis[now.x]+len[i]<dis[tov[i]]){dis[tov[i]]=dis[now.x]+len[i];if (!bz[tov[i]])q.push((node){tov[i],dis[tov[i]]});}}ans=min(dis[3*n],min(dis[3*n+1],dis[3*n+2]));
}
int main()
{freopen("T2.in","r",stdin);//freopen("tiring.in","r",stdin);//freopen("tiring.out","w",stdout);n=read(),m=read();fo(i,1,m){int x=read(),y=read(),z=read();link(3*x,3*y+1,1.0*z),link(3*x+1,3*y+2,1.0/(z-1.0)),link(3*x+2,3*y,1.0*(z-1)/z),link(3*y,3*x+1,1.0*z),link(3*y+1,3*x+2,1.0/(z-1.0)),link(3*y+2,3*x,1.0*(z-1)/z);}dijkstra();if (ans>1e15)printf("chu ti ren shi zhi zhang\n");else printf("%.3lf\n",ans);return 0;
}

转载于:https://www.cnblogs.com/horizonwd/p/11516767.html

【JZOJ6354】最短路(tiring)相关推荐

  1. [C] [最短路] 只有5行的算法:Floyd-Warshall

    终于学到求最短路了,终于来到我最喜欢的算法--Floyd-Warshall了!今天还有点小激动呢! 我喜欢它,当然是因为它逻辑十分简单咯!真的只有5行诶! Floyd-Warshall算法 题目描述 ...

  2. BZOJ4152 AMPPZ2014 The Captain(最短路)

    事实上每次走到横坐标或纵坐标最接近的点一定可以取得最优方案.于是这样连边跑最短路就可以了. #include<iostream> #include<cstdio> #inclu ...

  3. Codeforces.1051F.The Shortest Statement(最短路Dijkstra)

    题目链接 先随便建一棵树. 如果两个点(u,v)不经过非树边,它们的dis可以直接算. 如果两个点经过非树边呢?即它们一定要经过该边的两个端点,可以直接用这两个点到 u,v 的最短路更新答案. 所以枚 ...

  4. BZOJ1491: [NOI2007]社交网络(Floyd 最短路计数)

    Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2343  Solved: 1266 [Submit][Status][Discuss] Descrip ...

  5. HDU1811 Rank of Tetris 拓扑排序+并查集 OR 差分约束最短路+并查集

    题目链接 题意:就是给你一堆关系,看能不能排出个确定的顺序 做法: 1. 拓扑排序+并查集 应该很容易想到的一种思路,大于小于建立单向边.对于相等的呢,就把他们缩成一个点.就用并查集缩成一个点就行了 ...

  6. E:By Elevator or Stairs? CF595 DP最短路

    题目链接 比赛的时候一看,这不是最短路吗,然后敲了一个最短路. 然后比赛完发现大家基本都写的dp,我真是个憨憨,dp3行 最短路就建个简单的图,dp就是从上一维转化过来就是了 优秀的dp: //#pr ...

  7. The Shortest Statement CodeForces - 1051F LCA+最短路

    太弱了... 一开始看到题感觉是跑一个最小生成树在上边进行LCA就行了,但是发现过不了样例,然后就是就想到了之前做过类似做法的题目,就是非生成树上的边最多只有21条,然后就那些边记录下来,通过每一条边 ...

  8. JZOJ #4722 跳楼机 (最短路模型的完美转化)

    题目描述: 给出$h,x,y,z$,求在$h$以内,$x,y,z$可以凑出多少个不同的数.$(1\leq{h}\leq{10^{18}},1\leq{x,y,z}\leq{10^5})$ 解题思路: ...

  9. matlab单机无限大系统_基于MATLAB的单机无穷大系统短路故障分析_吕鹏

    _______________________________电子技术__丝I 基于MA丁LAB的单机无穷大系统短路故障分析 山东科技大学吕鹏钟家成纪妮妮李漫漫 [摘要]本z l),NIATLAB7. ...

  10. 【二分答案】【最短路】bzoj1614 [Usaco2007 Jan]Telephone Lines架设电话线

    对于二分出的答案x而言,验证答案等价于将所有边权>x的边赋成1,否则赋成0,然后判断从1到n的最短路是否<=K. #include<cstdio> #include<cs ...

最新文章

  1. Horticulture Research:植物界的“投之以桃,报之以李”的合作共赢典范
  2. 脚踏实地,自强不息——清华大学大数据软件团队2021年度先进个人风采展示
  3. WinForm中的各种对话框
  4. 2019传智python就业班视频_2019黑马JAVAEE57期基础班就业班(全套)
  5. 再见, VS Code !你好,GitHub!
  6. php 真太阳时间修正,北京时间与真太阳时以及换算方法!
  7. (图文详细)设置文件夹中的文件显示文件后缀名的方法
  8. OOP,Object Oriented Programming 面向对象的三大特性 五大基本原则
  9. category 详解
  10. 一文读懂高频交易程序化交易和量化交易区别
  11. 第七天 位置参数 变量运算if case || find locate compress
  12. 【07】函数调用:为什么会发生stack overflow?
  13. 给小学生科普计算机,科普知史识:计算机是我们的小助手(适用于小学生).ppt...
  14. py2下hbase的字符串编码问题(\\xe7\\xbc\\x96)
  15. (VDSR)Accurate Image Super-Resolution Using Very Deep Convolutional Networks——超分辨率(八)
  16. 随机变量列的四种收敛性
  17. 连载26:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)
  18. 帆软BI绕过限制思路
  19. 基于诱捕的软件异常检测综述
  20. OSChina 周六乱弹 ——快来看美国总统候选人怎么被打脸

热门文章

  1. STM32F103c8t6 - CubeMX 快速实现时钟配置 - 最大72M时钟的设定及实验测试
  2. easyui combobox 查询传递json对象
  3. 上传身份证照片js_web端上传图片,截取证件照
  4. 游戏程序员的学习之路
  5. 电脑待办事项桌面_电脑上有没有治拖延症的软件?怎么在办公电脑上添加一款提醒便签软件...
  6. CTEX中文编辑问题
  7. wps教鞭功能_三个PPT2010新增实用功能
  8. echarts加载世界地图并展示个人数据
  9. open用法 vba_open方法读写文件
  10. dell服务器更换硬盘raid,DELL T620服务器硬盘坏,更换硬盘做RAID同步