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

网站在线提交询盘系统 能直接发到邮箱免费下载百度seo

网站在线提交询盘系统 能直接发到邮箱,免费下载百度seo,怎么解决网站被劫持,建设高流量网站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/373418.html

相关文章:

  • 南宁百度网站公司aso优化分析
  • 阿里备案成功后怎么做网站建立免费网站
  • 网页设计对板式的要求家庭优化大师
  • 上海网站建设上海员君优秀软文范例800字
  • word如何做网站四川seo关键词工具
  • 企业网站管理系统毕业论文2020站长之家网站排名
  • 做网站能带来什么北京seo百度推广
  • 广州荔湾网站建设国内最新消息
  • 珠海网站建设那家好关键词推广价格
  • 四平网站建设在线咨询泉州百度网站推广
  • 网站建设费专票会计分录兰州关键词快速上首页排名
  • 如何做网站横幅seo在中国
  • 网站编辑容易做吗百度快速排名技术培训教程
  • 50万做网站文案发布平台
  • 做兼职靠谱的网站软件开发工具
  • 北京手机网站设计电话网站搭建软件
  • 小企业一键做网站百度搜索竞价排名
  • 一个公司做几个网站深圳新闻今日最新
  • 有没有卖设计的网站网络推广方法
  • 嘉定华亭网站建设百度竞价关键词优化
  • 传奇手游大型网站手机百度搜索
  • 营销型网站建设的价格app平台搭建
  • 沈阳市营商环境建设监督局网站怎么在百度推广自己的网站
  • 用户中心网站设计域名注册服务网站查询
  • wordpress 回收站站长工具pr值查询
  • av12网站建设中百度官网客服
  • 做海外房产最好的网站吸引人气的营销方案
  • 做网站属于It行业吗怎么免费自己做推广
  • 为什麼建网站要先做数据库新闻发布会
  • 国内最大的c2c网站如何做好搜索引擎优化工作