题目大意:给你一个图,要你求出其中1->n路径中乘积最小的一条路

题解:用$log_2$把乘法变成加法,然后记录每个点的前驱,最后求出答案

C++ Code:

#include<cstdio>
#include<cmath>
using namespace std;
const int mod=9987;
int n,m;
int head[1010],cnt;
struct Edge{int to,cost,nxt;
}e[1000010];
int q[2000010],h,t,res=1;
int tmp[1010][2];
bool v[1010];
double ans[1010];
void addE(int a,int b,int c){e[++cnt]=(Edge){b,c,head[a]};head[a]=cnt;
}
void SPFA(int rt){for (int i=2;i<=n;i++)ans[i]=1000000;q[++t]=rt;while (h<t){int x=q[++h];v[x]=false;for (int i=head[x];i;i=e[i].nxt){int to=e[i].to;double lg=log(e[i].cost);if (ans[to]>ans[x]+lg){ans[to]=ans[x]+lg;tmp[to][0]=x,tmp[to][1]=e[i].cost;if (!v[to]){v[to]=true;q[++t]=to;}}} }for (int i=n;i!=1;i=tmp[i][0])res=(res*tmp[i][1])%mod;printf("%d\n",res);
}
int main(){scanf("%d%d",&n,&m);for (int i=0;i<m;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);addE(a,b,c);}SPFA(1);return 0;
}

转载于:https://www.cnblogs.com/Memory-of-winter/p/8557742.html

[洛谷P2384]最短路相关推荐

  1. 洛谷——P2384 最短路

    P2384 最短路 题目背景 狗哥做烂了最短路,突然机智的考了Bosh一道,没想到把Bosh考住了...你能帮Bosh解决吗? 他会给你10000000000000000000000000000000 ...

  2. 洛谷 P2384 最短路题解

    题目背景 狗哥做烂了最短路,突然机智的考了Bosh一道,没想到把Bosh考住了...你能帮Bosh解决吗? 他会给你100000000000000000000000000000000000%10金币w ...

  3. 洛谷 1144 最短路计数 bfs

    洛谷1144 最短路计数 传送门 其实这道题目的正解应该是spfa里面加一些处理,,然而,,然而,,既然它是无权图,,那么就直接bfs了,用一个cnt记录一下每一个点的方案数,分几种情况讨论一下转移, ...

  4. 洛谷 P1144 最短路计数 dijkstra

    https://www.luogu.org/problem/P1144 题目描述 给出一个NNN个顶点MMM条边的无向无权图,顶点编号为1−N1−N1−N.问从顶点111开始,到其他每个点的最短路有几 ...

  5. 电车_洛谷1346_最短路

    题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能).在每个路口,都有一个开关决定 ...

  6. 洛谷4366——最短路(dijkstra,思维,异或)

    题目大意 给定一个n个点,m条边的图,每条边有边权,而每个点\(i\)也可以直接到达\(j\),代价是\(i\ xor\ j\),给定一个S和T,求S到T的最小代价 其中\(n\le100000,m\ ...

  7. 洛谷2505 [HAOI2012]道路(最短路计数)

    洛谷传送门 [题目分析] 线段树?bczd,这么小的范围直接暴力就行啦. 直接O(n)枚举源点,每次跑最短路,然后对于每一条路径统计是否在最短路上.两个端点各有多少条最短路径经过即可. [代码~] # ...

  8. 洛谷P1462 通往奥格瑞玛的道路 二分答案+最短路SPFA

    洛谷P1462 通往奥格瑞玛的道路 二分答案+最短路SPFA 二分交费最多的一次的钱数 然后只将符合要求的边加入图中 如果到终点的最短路大于等于血量 或者直接起点不能到达终点 那么说明不符合要求 需要 ...

  9. 【洛谷3043】跳楼机(最短路)

    [洛谷3043]跳楼机(最短路) 题面 洛谷 题解 思路很妙嗷. 先只考虑只用\(y,z\)两种移动方式,它们一定能够到达一些楼层, 那么这些楼层再只用\(x\)拓展就能够计算答案. 那么我们这样子计 ...

最新文章

  1. Spring事务传播特性实例解析
  2. linux下 发布qt程序,Linux下发布qt程序
  3. canvas中文显示乱码 html5_浅析HTML5 Canvas的几种中文字体缩小方案
  4. 事务的特性和隔离级别
  5. 3.6.4python下载安装教程_python 3.6.4安装教程
  6. 矩阵求导最简单的理解
  7. python 路径的操作
  8. android模拟器 bridge,ADB (Android Debug Bridge)简介
  9. 使用WindowsHooks库制作和使用全局钩子
  10. 类似微信朋友圈评论回复功能表设计、代码实现
  11. 计算机键盘符号称呼,电脑键盘上特殊符号和标点符号名称的输入方法汇总
  12. linux卸载杀毒软件clama,centos 6 安装clamav杀毒软件查毒
  13. 【python】python语法糖
  14. 修改EDGE的新标签页网址
  15. 学习python记录——第五天
  16. Windows批量修改文件名
  17. AJ5利用数据源的validation属性对控件进行validation验证
  18. 电子文档翻译工具实现文章的批量翻译
  19. 求助mac安装wind的excel插件无法使用
  20. 【计算机毕业设计】外卖点餐系统

热门文章

  1. java 定义全局变量_都说变量有七八种,到底谁是 Java 的亲儿子
  2. arp欺骗的软件有哪些_局域网内如何防止ARP欺骗
  3. java 内部错误2753_重新安装java出现错误的解决方法
  4. duri oracle 连接字符串_Oracle连接字符串大全
  5. Ubuntu 安装 Kafka
  6. JAVA代码实现hive连接mysql_Java采用JDBC的方式连接Hive(SparkSQL)
  7. 20200705:力扣196周周赛上
  8. android return 如何跳出两个循环_关于不得不学的Android知识之消息机制
  9. pcl点云库python实现_如何有效地将ROS PointCloud2转换为pcl点云并在python中将其可视化...
  10. Insyde uefi 隐藏设置_文件隐藏工具Wise Folder Hider Pro便携版分享