1706: [usaco2007 Nov]relays 奶牛接力跑
来源:互联网 发布:cnc编程培训班苏州市 编辑:程序博客网 时间:2024/04/30 18:07
题目链接
题目大意:给定一张无向图,求从s出发恰好经过n条边到达e的最短路
题解:点编号比较大,离散化点,用f[i]表示经过i+1条边到达e的最短路,
,
因为修改了矩阵乘法的定义,单位矩阵也应该修改,直接手动乘一次就好
我的收获:
#include<cstdio>#include<cstring>#include<algorithm>#define INF 1010580540using namespace std;const int M=205;int n,K,s,e,m,cnt,mp[1005];struct Mat{int x,m[M][M];Mat(){x=1,memset(m,0x3f,sizeof(m));}}w;int ID(int x){return mp[x]?mp[x]:mp[x]=++cnt;}Mat operator*(Mat a,Mat b){ Mat c;c.x=a.x; for(int i=1;i<=a.x;i++) for(int j=1;j<=b.x;j++) for(int k=1;k<=a.x;k++) c.m[i][j]=min(c.m[i][j],a.m[i][k]+b.m[k][j]); return c;}Mat operator^(Mat a,int p){ Mat c;bool flag=true; for(;p;p>>=1,a=a*a) if(p&1) {if(flag) c=a,flag=false;else c=c*a;} return c;}void work(){ Mat ans=w^K; printf("%d",ans.m[s][e]);}void init(){ int x,y,z; scanf("%d%d%d%d",&K,&m,&s,&e); for(int i=1;i<=m;i++) { scanf("%d%d%d",&z,&x,&y); x=ID(x);y=ID(y); w.m[x][y]=w.m[y][x]=z; } s=ID(s);e=ID(e);w.x=cnt;}int main(){ init(); work(); return 0;}
阅读全文
0 0
- 1706: [usaco2007 Nov]relays 奶牛接力跑
- bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑
- BZOJ 1706 usaco2007 Nov relays 奶牛接力跑 倍增Floyd
- 1706: [usaco2007 Nov]relays 奶牛接力跑 倍增floyd
- [倍增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 奶牛接力跑 (矩阵乘法)
- bzoj 1706: [usaco2007 Nov]relays 奶牛接力跑(倍增floyd)
- BZOJ 1706: [usaco2007 Nov]relays 奶牛接力跑 floyd矩阵乘法
- 【BZOJ1706】[usaco2007 Nov]relays 奶牛接力跑【DP】【矩阵乘法】【限制最短路】
- bzoj1706 [usaco2007 Nov]relays 奶牛接力跑 矩阵乘法(倍增floyd)
- BZOJ 1706 usaco 2007 Nov relays 奶牛接力跑/POJ 3613 Cow Relays 倍增Floyd
- bzoj 1706 奶牛接力
- bzoj1641 [Usaco2007 Nov]Cow Hurdles 奶牛跨栏
- 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏
- [BZOJ1641][Usaco2007 Nov]Cow Hurdles 奶牛跨栏
- 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏
- 平衡二叉树模板
- 马云:大数据时代,最重要的是做最好的自己
- RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总
- 正则表达式以及grep,cut等命令学习
- c# 学习之8 枚举类型和int string的转换
- 1706: [usaco2007 Nov]relays 奶牛接力跑
- 基于Redis实现的延迟队列
- 蓝桥杯--剪格子
- BZOJ1036(ZJOI2008)[树的统计Count]--树链剖分+线段树
- java sm2实现
- JavaWeb:JDBC
- CJOJ 2040 【一本通】分组背包
- 7.2 Hibernate:内置生成器 -- foreign
- 优化设计-任务间通信-用队列而不用缓冲区