[USACO07NOV]Cow Relays
来源:互联网 发布:网络自制抗日剧牺牲 编辑:程序博客网 时间:2024/06/03 06:03
map+floyed+矩阵乘法(倍增floyed)
# include <stdio.h># include <stdlib.h># include <iostream># include <algorithm># include <string.h># include <map># define IL inline# define RG register# define Fill(a, b) memset(a, b, sizeof(a))using namespace std;typedef long long ll;IL ll Read(){ RG char c = getchar(); RG ll x = 0, z = 1; for(; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1; for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + c - '0'; return x * z;}map <int, int> M;int n, m, k, s, t;struct Matrix{ int a[210][210]; IL void Clear(){ Fill(a, 63); } IL int* operator [](RG int x){ return a[x]; } IL Matrix operator *(RG Matrix &B){ RG Matrix C; C.Clear(); for(RG int i = 1; i <= n; i++) for(RG int j = 1; j <= n; j++) for(RG int k = 1; k <= n; k++) C[i][k] = min(C[i][k], a[i][j] + B[j][k]); return C; }} ans, edge;int main(RG int argc, RG char* argv[]){ edge.Clear(); ans.Clear(); k = Read(); m = Read(); s = Read(); t = Read(); if(!M[s]) s = M[s] = ++n; if(!M[t]) t = M[t] = ++n; while(m--){ RG int w = Read(), u = Read(), v = Read(); if(!M[u]) M[u] = ++n; if(!M[v]) M[v] = ++n; edge[M[u]][M[v]] = edge[M[v]][M[u]] = min(edge[M[u]][M[v]], w); } for(RG int i = 1; i <= n; i++) ans[i][i] = 0; while(k){ if(k & 1) ans = ans * edge; edge = edge * edge; k >>= 1; } printf("%d\n", ans[s][t]); return 0;}
阅读全文
0 0
- [USACO07NOV]Cow Relays
- 图论矩乘——BZOJ1706/Luogu2886 [USACO07NOV]Cow Relays
- 矩阵——P2886 [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
- 【python pandas】 Dataframe的数据print输出 显示为...省略号
- 马云:关注饭局没有意义
- 用取地址运算符取出变量的地址
- 【转载】log4j2- 从基础到实战
- Java泛型中<? extends E>和<? super E>的区别
- [USACO07NOV]Cow Relays
- HDU 1053 Entropy(贪心)
- nfs
- 2017/12/12
- 同步,异步,阻塞,非阻塞
- Linux环境下安装RocketMQ(MetaQ)
- Vue基础(列表渲染)
- @RequestParam
- QMainWindow多线程demo