图论矩乘——BZOJ1706/Luogu2886 [USACO07NOV]Cow Relays
来源:互联网 发布:python绝技 pdf 中文 编辑:程序博客网 时间:2024/05/26 02:52
题面:Luogu2886 BZOJ1706
这题是图论的矩阵乘法吧。。。
我们把矩阵快速幂的思想和floyd结合一下
这里的矩阵乘法应该来说已经不算矩乘了。。。
确切来说是把乘法部分换成了floyd
然后矩乘n次(和公交车路线差不多)
计算最短路即为答案
然后这题需要离散化一下(我不知道不离散化能不能过。。。)
#include<bits/stdc++.h>using namespace std;typedef long long ll;struct juzhen{ll a[111][111];}x,y,a,c;ll n,t,s,e,m=0;ll a1[101],a2[101],a3[101],b[111];bool bb[1001];inline juzhen cheng(juzhen a,juzhen b){//不要看我写了乘,其实是floyd for(int i=1;i<=m;i++)for(int j=1;j<=m;j++)c.a[i][j]=1e15; for(ll i=1;i<=m;i++) for(ll j=1;j<=m;j++) for(ll k=1;k<=m;k++)c.a[i][j]=min(c.a[i][j],a.a[i][k]+b.a[k][j]); return c;}inline juzhen mi(juzhen a,ll b){//矩阵快速幂思想 x=y=a; while(b!=0){ if(b&1==1)x=cheng(x,y); y=cheng(y,y);b>>=1; } return x;}int main(){ scanf("%lld%lld%lld%lld",&n,&t,&s,&e); for(int i=1;i<=t;i++){ scanf("%d%d%d",&a3[i],&a1[i],&a2[i]); if(!bb[a1[i]])bb[a1[i]]=1,b[++m]=a1[i]; if(!bb[a2[i]])bb[a2[i]]=1,b[++m]=a2[i]; } sort(b+1,b+m+1); for(int i=1;i<=m;i++)for(int j=1;j<=m;j++)a.a[i][j]=1e15; for(int i=1;i<=t;i++){ a1[i]=lower_bound(b+1,b+m+1,a1[i])-b; a2[i]=lower_bound(b+1,b+m+1,a2[i])-b; a.a[a1[i]][a2[i]]=a3[i]; a.a[a2[i]][a1[i]]=a3[i]; } s=lower_bound(b+1,b+m+1,s)-b;e=lower_bound(b+1,b+m+1,e)-b; a=mi(a,n-1); printf("%lld",a.a[s][e]); return 0;}
1 0
- 图论矩乘——BZOJ1706/Luogu2886 [USACO07NOV]Cow Relays
- 矩阵——P2886 [USACO07NOV]牛继电器Cow Relays
- [USACO07NOV]Cow Relays
- poj 3613 Cow Relays
- POJ-3613-Cow Relays
- poj 3613 Cow Relays
- POJ3613 Cow Relays
- poj 3613 Cow Relays
- poj 3613 Cow Relays
- POJ3613 Cow Relays
- POJ3613 Cow Relays
- POJ 3613 Cow Relays
- poj3613 Cow Relays
- poj 3613 Cow Relays
- POJ3613 Cow Relays
- Cow Relays POJ
- POJ 3613 Cow Relays
- 洛谷 P2888 [USACO07NOV]牛栏Cow Hurdles
- Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的
- Service
- 阿里中间件技术栈与架构师能力图
- javafx日期控件
- 数据结构-类似并查集建
- 图论矩乘——BZOJ1706/Luogu2886 [USACO07NOV]Cow Relays
- JVM堆内存参数优化,让性能飞起来
- 1044: 谁家孩子跑最慢*
- JavaScript语言基础---(九)Array
- SQL Server不允许保存更改数据表解决方法
- 在linux中添加字体
- R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD系列深度学习检测方法梳理
- 基本的调试器框架
- Java事务处理全解析(五)—— Template模式