1706: [usaco2007 Nov]relays 奶牛接力跑 倍增floyd
来源:互联网 发布:c语言 log 编辑:程序博客网 时间:2024/05/01 02:15
裸倍增floyd。。
开始sb数组开的[205]清数组清到205果断RE。
我真是弱QAQ
#include<bits/stdc++.h>#define inf 1000000007#define N 210using namespace std;int n,m,S,E,cnt;int id[1005],ans[N][N],f[N][N],t[N][N];inline int read(){ int a=0,f=1; char c=getchar(); while (c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();} while (c>='0'&&c<='9') {a=a*10+c-'0'; c=getchar();} return a*f;}inline void floyd(int a[N][N],int b[N][N],int c[N][N]){ for (int k=1;k<=cnt;k++) for (int i=1;i<=cnt;i++) for (int j=1;j<=cnt;j++) c[i][j]=min(c[i][j],a[i][k]+b[k][j]);}inline void save(int a[N][N],int b[N][N]){ for (int i=1;i<=cnt;i++) for (int j=1;j<=cnt;j++) a[i][j]=b[i][j],b[i][j]=inf;}int main(){ n=read(); m=read(); S=read(); E=read(); for (int i=1;i<=205;i++) for (int j=1;j<=205;j++) f[i][j]=ans[i][j]=t[i][j]=inf,ans[i][i]=0; for (int i=1;i<=m;i++) { int w=read(),u=read(),v=read(); if (!id[u]) id[u]=++cnt; if (!id[v]) id[v]=++cnt; f[id[u]][id[v]]=f[id[v]][id[u]]=w; } while (n) { if (n&1) floyd(ans,f,t),save(ans,t); floyd(f,f,t); save(f,t); n>>=1; } cout << ans[id[S]][id[E]]; return 0;}
0 0
- BZOJ 1706 usaco2007 Nov relays 奶牛接力跑 倍增Floyd
- 1706: [usaco2007 Nov]relays 奶牛接力跑 倍增floyd
- [倍增Floyd] BZOJ 1706 [usaco2007 Nov]relays 奶牛接力跑
- bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑(倍增floyd)
- 1706: [usaco2007 Nov]relays 奶牛接力跑
- bzoj1706 [usaco2007 Nov]relays 奶牛接力跑 矩阵乘法(倍增floyd)
- BZOJ 1706 usaco 2007 Nov relays 奶牛接力跑/POJ 3613 Cow Relays 倍增Floyd
- BZOJ 1706: [usaco2007 Nov]relays 奶牛接力跑 floyd矩阵乘法
- bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑
- 矩阵乘法专题2——bzoj 1706 [usaco2007 Nov] relays 奶牛接力跑 题解
- POJ 3613/bzoj 1706: [usaco2007 Nov]Cow Relays 奶牛接力跑
- bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑 (矩阵乘法)
- 【BZOJ1706】[usaco2007 Nov]relays 奶牛接力跑【DP】【矩阵乘法】【限制最短路】
- bzoj 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏 floyd
- bzoj 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏(floyd)
- bzoj1641 [Usaco2007 Nov]Cow Hurdles 奶牛跨栏(Floyd)
- [POJ3613]Cow Relays && Floyd倍增
- bzoj 1706 奶牛接力
- form表单的编码问题
- numberset
- 顺序栈及应用
- 安卓学习笔记之:实现ImageView图片双击放大及缩小
- Unity教程之-RenderTexture实现实时阴影绘制
- 1706: [usaco2007 Nov]relays 奶牛接力跑 倍增floyd
- 混合式框架-AngularJS
- Emmet 插件使用教程
- C++11语言扩展:常规特性
- [leetcode] 2. Add Two Numbers 解题报告
- MySQL的安装、卸载
- 同步一篇博客222
- 获取计算后的css样式
- 黑马程序员——iOS 开发学习---循环结构及UI控件