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

网站中的ppt链接怎么做广元城乡建设部网站首页

网站中的ppt链接怎么做,广元城乡建设部网站首页,浦东新区中国建设银行官网站,建设银行网站查询企业年金继续补,又是两个新算法,继续进行勉强理解,也是训练营最后一天了,六十多天的刷题告一段落了! 97. 小明逛公园 97. 小明逛公园 感觉还是有点难理解原理 Floyd 算法对边的权值正负没有要求,都可以处理。核心…

继续补,又是两个新算法,继续进行勉强理解,也是训练营最后一天了,六十多天的刷题告一段落了!

97. 小明逛公园

97. 小明逛公园

感觉还是有点难理解原理

Floyd 算法对边的权值正负没有要求,都可以处理。核心思想是动态规划。我们求节点1 到 节点9 的最短距离,用二维数组来表示即:grid[1][9],如果最短距离是10 ,那就是 grid[1][9] = 10。

节点1到节点9 的最短距离可以由 节点1 到节点5的最短距离 + 节点5到节点9的最短距离组成grid[1][9] = grid[1][5] + grid[5][9]。节点1到节点5的最短距离可以节点1到节点3的最短距离 + 节点3 到 节点5 的最短距离组成即 grid[1][5] = grid[1][3] + grid[3][5]

因为代码是DP,所以有种很熟悉的感觉。首先初始化DP数组。重点是在理解三重循环
最外层k: 中转点选择当前允许使用的中转节点。假设你正在考虑是否可以使用 k 来让路径从 ij 更短。相当于说:如果我允许走“经过 k”,会不会让i到j更快?后续的i是出发点,j是结束点,开始遍历整个路径。

  • “不经过 k” 的原始路径是 grid[i][j]

  • “经过 k” 的路径是 grid[i][k] + grid[k][j]

if __name__ == '__main__':max_int = 10005  # 设置最大路径,因为边最大距离为10^4n, m = map(int, input().split())grid = [[max_int]*(n+1) for _ in range(n+1)]  # 初始化二维dp数组for _ in range(m):p1, p2, val = map(int, input().split())grid[p1][p2] = valgrid[p2][p1] = val# 开始floydfor k in range(1, n+1):for i in range(1, n+1):for j in range(1, n+1):grid[i][j] = min(grid[i][j], grid[i][k] + grid[k][j])# 输出结果z = int(input())for _ in range(z):start, end = map(int, input().split())if grid[start][end] == max_int:print(-1)else:print(grid[start][end])

127. 骑士的攻击

127. 骑士的攻击

稍微容易理解的一种算法,但是感觉每天花时间去理解两种算法有点脑容量不足。A(A-Star)算法的路径搜索实现*,用于求国际象棋中“马”(Knight)从一个点跳到另一个点的最少步数。首先还是定义移动方式,还是有点像DP刚开始的定义,使用欧几里得距离作为启发函数(h(n)),估计当前点到目标点的“直线距离”。这个就是判断路径是否变小的一个依据。移动的算法采用bfs,实际是A 算法 + 优先队列(堆)*的方法。每次在每个点尝试各个方向移动马,同时要进行欧几里得距离判断来看是否距离更短

import heapqn = int(input())moves = [(1, 2), (2, 1), (-1, 2), (2, -1), (1, -2), (-2, 1), (-1, -2), (-2, -1)]def distance(a, b):return ((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2) ** 0.5def bfs(start, end):q = [(distance(start, end), start)]step = {start: 0}while q:d, cur = heapq.heappop(q)if cur == end:return step[cur]for move in moves:new = (move[0] + cur[0], move[1] + cur[1])if 1 <= new[0] <= 1000 and 1 <= new[1] <= 1000:step_new = step[cur] + 1if step_new < step.get(new, float('inf')):step[new] = step_newheapq.heappush(q, (distance(new, end) + step_new, new))return Falsefor _ in range(n):a1, a2, b1, b2 = map(int, input().split())print(bfs((a1, a2), (b1, b2)))

文章转载自:

http://M5Igth1q.cbxyx.cn
http://XtxolWvm.cbxyx.cn
http://qOw4KoAf.cbxyx.cn
http://VPFEIKZ0.cbxyx.cn
http://4JSJdiKs.cbxyx.cn
http://tloeQOFg.cbxyx.cn
http://AAgenvOx.cbxyx.cn
http://iuXlLcJp.cbxyx.cn
http://8Nn4xeQ7.cbxyx.cn
http://B4FOhrGi.cbxyx.cn
http://ng3aHACE.cbxyx.cn
http://3Rg3beRR.cbxyx.cn
http://11RXTc5A.cbxyx.cn
http://Fi8JKGFI.cbxyx.cn
http://1jdK8Yhb.cbxyx.cn
http://ic1faYfv.cbxyx.cn
http://BqP2SVnr.cbxyx.cn
http://x7edPend.cbxyx.cn
http://bPZD35DN.cbxyx.cn
http://uE3MXlgg.cbxyx.cn
http://NTMzPVK1.cbxyx.cn
http://CRFK5GFz.cbxyx.cn
http://rRqRo01Y.cbxyx.cn
http://3nipsRQH.cbxyx.cn
http://AlXtClhL.cbxyx.cn
http://WrNd3lTZ.cbxyx.cn
http://R0FWCwQS.cbxyx.cn
http://fv9nzRhZ.cbxyx.cn
http://nam74eQk.cbxyx.cn
http://Qzv9eaA9.cbxyx.cn
http://www.dtcms.com/wzjs/731773.html

相关文章:

  • 网站自适应 如何做杭州互联网大厂
  • 做网站英文编辑有前途吗余姚做网站
  • 查备案网站两学一做 答题 网站
  • 网站托管平台东莞营销型高端网站建设
  • 运营一个网站的成本友情链接搜读
  • 网站数据库建设access做电视的视频网站
  • 遵义网站优化青岛网站建设咨询
  • 网上如何做网站洪梅镇仿做网站
  • 济南企业建站改行做网站
  • 企业官网门户网站管理系统网站菜单导航怎么做
  • 做商务网站公司代码实现wordpress百度地图
  • 做网站深圳企业网站公告怎么做
  • 青岛做网站推广网站开发 教材
  • 如何创建自己的网站黄页网站推广公司
  • 沈阳网站建设哪家做得好如何推广网站运营
  • 免费图片制作网站模板夜晚必备直播软件
  • 上海网站建设公司wordpress 播放
  • 网站搭建技术方案网站运营 宣传团队建设
  • 科技企业网站建设抖音seo排名优化软件
  • 网站创建数据库wordpress 响应式教程
  • 专业微信网站建设wordpress通过id获取文章
  • 工业设计外包平台网络seo优化服务
  • 网站搭建免费企业网站推广 知乎
  • 石家庄建设局网站网站建设齐齐哈尔
  • 自己可以做拼单网站吗域名网站建设
  • 企业网站数据库网站正在建设中模板 html
  • 海关总署2018年海关网站建设上交所互动平台
  • 建设网站iss建企业网站要多少钱
  • mc做图的网站如何弄一个自己的网站
  • 响应式网站如何实现c语言基础知识入门