题意简述
N<=1000个点,M<=1000000条边。一条路径的权定义为:所有边权的积。请你求出最短路的边权9987(先最短,再膜)
思路
把边权改为$ln$边权,然后就珂以将乘法变为加法了。但是这样你会WA最后一个点,因为乘的太多爆double了。解决方案是,
- 正解: 每个点记录从哪个点转移过来的,即记录路径。然后用整数运算,边乘边膜,求得答案。
- 非正解:这样的数据只有一个点,下载数据发现答案是3922。面向数据编程即珂。
代码
1 | //非正解的,正解写不动了 |
LightningUZ 的博客
N<=1000个点,M<=1000000条边。一条路径的权定义为:所有边权的积。请你求出最短路的边权9987(先最短,再膜)
把边权改为$ln$边权,然后就珂以将乘法变为加法了。但是这样你会WA最后一个点,因为乘的太多爆double了。解决方案是,
1 | //非正解的,正解写不动了 |