当前位置: 首页 > wzjs >正文

网站设计 宽度中国女排联赛排名

网站设计 宽度,中国女排联赛排名,国家开发公司,自己可以做网站推广吗floyd算法 基于动态规划 应用:求多源最短路 时间复杂度:n^3 dijkstra:不能解决负边权 floyd:能解决负边权 不能解决负边权回路问题 求最短路径:dijkstra bfs floyd 思路 1.让任意两点之间的距离变短:引入…

floyd算法

基于动态规划
应用:求多源最短路 时间复杂度:n^3
dijkstra:不能解决负边权
floyd:能解决负边权 不能解决负边权回路问题
求最短路径:dijkstra bfs floyd

思路

1.让任意两点之间的距离变短:引入中转点k
通过k来中转 i---->k---->j < i----->j

2.找状态:
n个点都可以做中转点的情况下,i到j之间的最短路径的长度是x
最终状态:dp[n][i][j]=x;
中间状态:dp[k][i][j]=x;经过前k个点(1~k)做中转点的情况下,i到j之间的最短路径的长度是x
初始状态:dp[0][i][j]=a[i][j];

3.找状态转移方程
经过前k个点(1~k)做中转点的情况下,i到j之间的最短路径的长度是?
中间状态:dp[k][i][j]=?
前k-1个状态已知,前k-1个点(1~k-1)做中转点的情况下,i到j之间的最短路径的长度
if(dp[k][i][j]>dp[k-1][i][k]+dp[k-1][k][j])
dp[k][i][j]=dp[k-1][i][k]+dp[k-1][k][j]
else
dp[k][i][j]=dp[k-1][i][j];

代码实现

#include<iostream> 
using namespace std;
#define inf 0x7fffffff
int n, m;
int a[105][105];//邻接矩阵存图
int dp[105][105][105];int main() {cin >> n >> m;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {a[i][j] = inf;if (i == j) {a[i][j] = 0;}}}int x, y, w;for (int i = 1; i <= m; i++) {cin >> x >> y >> w;a[x][y] = w;}//初始化dpfor (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {dp[0][i][j] = a[i][j];}}for (int k = 1; k <= n; k++) {//枚举中转点for (int i = 1; i <= n; i++) {//枚举起点、终点for (int j = 1; j <= n; j++) {dp[k][i][j] = min(dp[k - 1][i][j], dp[k - 1][i][k] + dp[k - 1][k][j]);}}}//输出for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {cout << dp[n][i][j] << " ";}}return 0;
}

降维


#include<iostream> 
using namespace std;
//降维 三维降为二维
#define inf 0x7fffffff
int n, m;
int a[105][105];//邻接矩阵存图
int dp[105][105]; int main() {cin >> n >> m;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {a[i][j] = inf;if (i == j) {a[i][j] = 0;}}}int x, y, w;for (int i = 1; i <= m; i++) {cin >> x >> y >> w;a[x][y] = w;}//初始化dpfor (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {dp[i][j] = a[i][j];}}//三重循环的顺序不能变换for (int k = 1; k <= n; k++) {//最外层一定是 枚举中转点for (int i = 1; i <= n; i++) {//枚举起点、终点for (int j = 1; j <= n; j++) {dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);}}}//输出for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {cout << dp[i][j] << " ";}}return 0;
}
http://www.dtcms.com/wzjs/255453.html

相关文章:

  • 有什么做美食的视频网站重庆seo教程
  • 武汉比较大的做网站的公司百度指数介绍
  • 做网站 需要什么样的服务器seo优化公司
  • 微信二级分销模式seo工具大全
  • 健身餐的网站怎么做网络口碑营销案例分析
  • 网络营销推广的岗位职责有seo搜索引擎优化实战
  • 重庆的企业的网站建设广告推广语
  • 深圳餐饮网站设计山东今日头条新闻
  • 网络广告营销的特性深圳seo网站优化公司
  • 用自己的服务器做网站简述网络营销的概念
  • 做网站怎么每天更新内容百度收录网站
  • 网站开发的背景的讲解广州网站外包
  • 网站制作网站建设单位前端seo搜索引擎优化
  • 网站建设合同 保密条款360收录批量查询
  • 四川成都网站制作公司一站式快速网站排名多少钱
  • 芜湖企业做网站此网站三天换一次域名
  • 同仁微网站建设工作室优化大师网页版
  • 广州网站搭建多少钱百度搜索最多的关键词
  • vs2013 网站开发广告外链购买交易平台
  • wordpress如何设置目录权限设置鸡西seo
  • 以下哪个域名是做游戏网站的廊坊自动seo
  • 京东可以免费做特效的网站优就业seo怎么样
  • 免费看电视剧的网站2021怎么样推广自己的产品
  • 微信小程序开发平台游戏百度快速排名优化服务
  • ps彩屏做的好的网站百度官网首页登陆
  • 谁帮58同城做的网站吗提高工作效率的工具
  • 中国十佳网站建设公司火蝠电商代运营靠谱吗
  • 西安微网站制作it培训
  • 帝国cms电影网站模板陕西今日头条新闻
  • 注册深圳公司恒诚信价格宝鸡百度seo