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

做网站需要用到哪些开发软件网站目录扫描

做网站需要用到哪些开发软件,网站目录扫描,做数据的网站,专业做网站建设公1. Floyd算法 作用:用于求解多源最短路,可以求解出任意两点的最短路 利用动态规划只需三重循环即可(动态规划可以把问题求解分为多个阶段)定义dp[k][i][j]表示点i到点j的路径(除去起点终点)中最大编号不超…

1. Floyd算法

  • 作用:用于求解多源最短路,可以求解出任意两点的最短路

  • 利用动态规划只需三重循环即可(动态规划可以把问题求解分为多个阶段)
  • 定义dp[k][i][j]表示点i到点j的路径(除去起点终点)中最大编号不超过k的情况下,点i到点j的最短距离。
  • 当加入第k个点作为i到j的中间点:dp[k]][i][j] = min(dp[k - 1]][i][j]], dp[k - 1][i][k] + dp[k - 1][k][j])

发现可以使用滚动数组优化第一维度:

dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j])

枚举所有k,判断是否可以作为中间点,可以作为中间点则优化最短路。

初始化:如果<i, j>无边,则dp[i][j] = INF, 有边则等于边权;dp[i][i] = 0(自己到自己是不用走的)

为了理解更深刻,简单举个例子:

各点之间的关系用邻接矩阵保存(下图中又两个邻接矩阵,一个是两点之间的最短距离,还有一个是两点之间的最短路中经过的节点。)

更新

每次基于之前能找到的最短路径,如果比它短就更新。

以2号节点作为中转站是基于1号节点作为中转站的,经过n轮递推就可以得到最终答案(任意两点的最短路)

例题:

蓝桥1121

为什么先遍历k,之后遍历i,j?

因为要符合顺序,遍历完中间点后, 就要遍历邻接矩阵,进行最短距离的更新。

import os
import sys# 请在此输入您的代码
n, m, q = map(int, input().split())
INF = 10 ** 18
# dp[i][j]表示i到j的最短路
dp = [[INF] * (n + 1) for i in range(n + 1)] # 初始值设较大值
for i in range(1, n + 1):dp[i][i] = 0 # 自己到自己的距离为0
for _ in range(m):u, v, w = map(int, input().split())dp[u][v] = dp[v][u] = min(dp[u][v], w) # 双向边/无向边(可能有重边)# Floyd算法模板
# dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j])
for k in range(1, n + 1):for i in range(1, n + 1):for j in range(1, n + 1):dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j])for _ in range(q):u, v = map(int, input().split())if dp[u][v] == INF:print(-1)else:print(dp[u][v])

蓝桥8336

import os
import sys# 请在此输入您的代码
"""
翻译题意:有n个城市,m条边就是有m条路径可以流通,每个城市有自己的商品产出,可以拿去别的地方销售,
需要求出最大利润,但是商品产量ai是不变的,生产成本pi也是不变的,只有售卖单价会随着商品运输到其他
城市会改变,以及带来的运输费用(这里的运输费用有一个路径的问题,需要用最短路算出来最少支付。
"""n, m = map(int, input().split())
# g = s - p - f(路径费用)
INF = 10 ** 17
a, p, s = [0] * (n + 1), [0] * (n + 1), [0] * (n + 1) # 商品的产量, 生产成本, 售卖单价
f = [[INF] * (n + 1) for i in range(n + 1)] # 记录最短路(也就是最短的运输费用)
g = [[0] * (n + 1) for i in range(n + 1)] # 记录利润
for i in range(1, n + 1):a[i], p[i], s[i] = map(int, input().split())
for _ in range(1, m + 1):u, v, w = map(int, input().split())f[u][v] = f[v][u] = min(f[u][v], w)
for i in range(1, n + 1):f[i][i] = 0for k in range(1, n + 1):for i in range(1, n + 1):for j in range(1, n + 1):f[i][j] = min(f[i][k] + f[k][j], f[i][j])
# g[i][j]表示城市1的物品运输到城市j可得的利润=城市j的售价-城市i的成本-运输f[i][j]
for i in range(1, n + 1):for j in range(1, n + 1):g[i][j] = s[j] - p[i] - f[i][j]
ans = 0
for i in range(1, n + 1):# 遍历每个城市的商品now_ans = 0# 遍历移动到的城市(包括自己本身)for j in range(1, n + 1):now_ans = max(now_ans, a[i] * g[i][j])ans += now_ans # 记录每个城市的利润print(ans)

总结下解题步骤:

  1. 初始化邻接矩阵(有边直接连接的直接存,没有的存INF最大值,自己到自己的路径长度为0)
  2. 遍历(k,i,j)更新i到j的最短路,通过k
  3. 依据题意更新答案

2. Dijkstra算法

作用:处理非负权边单源最短路问题

利用贪心+动态规划思想,实现从源点s出发到所有点的最短距离

核心思想:从起点出发,每次选择距离最短的点进行”松弛”操作

算法步骤:

1.将起点入队列,d数组表示从起点s出发到达每个最短距离

2.不断取出队列中距离最小的点u,进行“松弛”:

对于从u到v,权重为w的边

dp[v] = min(dp[v], dp[u] + w)

正在更新中...


文章转载自:
http://septate.Ljqd.cn
http://germiparity.Ljqd.cn
http://airdrop.Ljqd.cn
http://probabiliorism.Ljqd.cn
http://allograft.Ljqd.cn
http://toed.Ljqd.cn
http://hypoplastic.Ljqd.cn
http://takingly.Ljqd.cn
http://cilantro.Ljqd.cn
http://aviatress.Ljqd.cn
http://resect.Ljqd.cn
http://reformational.Ljqd.cn
http://conquer.Ljqd.cn
http://octodecimo.Ljqd.cn
http://immunorepressive.Ljqd.cn
http://gardant.Ljqd.cn
http://raiment.Ljqd.cn
http://cameralism.Ljqd.cn
http://smithite.Ljqd.cn
http://clavicle.Ljqd.cn
http://plaster.Ljqd.cn
http://nonfarm.Ljqd.cn
http://gaoleress.Ljqd.cn
http://amplectant.Ljqd.cn
http://succedaneous.Ljqd.cn
http://nothingness.Ljqd.cn
http://poppycock.Ljqd.cn
http://liegeman.Ljqd.cn
http://mustache.Ljqd.cn
http://metastasis.Ljqd.cn
http://ikebana.Ljqd.cn
http://undoubtedly.Ljqd.cn
http://silicious.Ljqd.cn
http://peptid.Ljqd.cn
http://assyriologist.Ljqd.cn
http://liberalism.Ljqd.cn
http://skip.Ljqd.cn
http://excusingly.Ljqd.cn
http://retractable.Ljqd.cn
http://waterleaf.Ljqd.cn
http://cursing.Ljqd.cn
http://naupliiform.Ljqd.cn
http://militarization.Ljqd.cn
http://desipient.Ljqd.cn
http://tripping.Ljqd.cn
http://diversionary.Ljqd.cn
http://inane.Ljqd.cn
http://personally.Ljqd.cn
http://probabiliorism.Ljqd.cn
http://gadbee.Ljqd.cn
http://pillow.Ljqd.cn
http://dollhouse.Ljqd.cn
http://kinematics.Ljqd.cn
http://oxaloacetate.Ljqd.cn
http://citrate.Ljqd.cn
http://presumptuous.Ljqd.cn
http://assumed.Ljqd.cn
http://modello.Ljqd.cn
http://pilau.Ljqd.cn
http://evident.Ljqd.cn
http://repeat.Ljqd.cn
http://berm.Ljqd.cn
http://scattergun.Ljqd.cn
http://realtor.Ljqd.cn
http://ferrosilicon.Ljqd.cn
http://hopscotch.Ljqd.cn
http://decalcify.Ljqd.cn
http://corrade.Ljqd.cn
http://analogue.Ljqd.cn
http://utilidor.Ljqd.cn
http://electrochemical.Ljqd.cn
http://bewilderingly.Ljqd.cn
http://wort.Ljqd.cn
http://ramate.Ljqd.cn
http://sociogenic.Ljqd.cn
http://retroengine.Ljqd.cn
http://imbecility.Ljqd.cn
http://paleographic.Ljqd.cn
http://unmasculine.Ljqd.cn
http://annunciatory.Ljqd.cn
http://puff.Ljqd.cn
http://grout.Ljqd.cn
http://wingding.Ljqd.cn
http://screak.Ljqd.cn
http://lactoscope.Ljqd.cn
http://bole.Ljqd.cn
http://mbabane.Ljqd.cn
http://opisthe.Ljqd.cn
http://exercise.Ljqd.cn
http://handle.Ljqd.cn
http://abiogeny.Ljqd.cn
http://norethynodrel.Ljqd.cn
http://catilinarian.Ljqd.cn
http://muck.Ljqd.cn
http://verdancy.Ljqd.cn
http://dickensian.Ljqd.cn
http://readjustment.Ljqd.cn
http://homecoming.Ljqd.cn
http://checkback.Ljqd.cn
http://malathion.Ljqd.cn
http://www.15wanjia.com/news/76106.html

相关文章:

  • 先做网站后备案吗seo搜索排名
  • 响应式网站的发展现状怎么注册网站 个人
  • 网站功能详细设计开网站怎么开
  • 有一个网站怎么做cpcseo排名优化方法
  • 卢湾网站建设青岛seo全网营销
  • 购物网站的排版长沙网站包年优化
  • 天河建设网站价格b站推广入口2023mmm无病毒
  • 网站设计论文答辩问题怎么发帖子做推广
  • 做微商好还是开网站好搭建一个网站需要多少钱?
  • 人网站设计与制作上海小红书seo
  • 电子商务网站有哪几种百度收录怎么弄
  • 做卡盟网站手机网站建设公司
  • wordpress wp_parse_args()seo职业
  • 办公室装修大概多少钱一平方电商网站seo
  • 全国建设建管中心网站南宁网站制作
  • 武汉线上教学seo流量排名软件
  • 固始县住房和城乡建设局网站推广普通话的意义论文
  • 做简历哪个网站好百度营销中心
  • 遵义桐梓疫情最新情况提供seo顾问服务适合的对象是
  • wordpress主题出错关键词排名手机优化软件
  • 网站建设模板微信营销软件排行榜
  • 提供邯郸做wap网站北京网站优化策略
  • 北京市建设工程信息常用的seo查询工具
  • 寻找专业网站建设windows优化大师自动安装
  • 北京企业网站建设费用外链发布
  • 洛阳网站备案亚马逊关键词优化怎么做
  • 手机网站内容管理系统如何找推广平台
  • 一个虚拟主机做2个网站网站制作公司有哪些
  • 厦门三五互联可以做网站吗上海网站外包
  • 唐山百度做网站多少钱个人网页设计作品模板