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

网站如何备案icp备案河北省衡水市景县规划网站

网站如何备案icp备案,河北省衡水市景县规划网站,四川省建设工程信息网安全监督,广告投放价目表文章目录 97.小明逛公园127.骑士的攻击 97.小明逛公园 之前的题目都是只有一个出发点和到达点#xff0c;这道题是有多个起始对#xff0c;用之前的算法把每一对结果算出来也是可行的#xff0c;在这里使用Floyd算法。 本质上是一种动态规划#xff0c;dp数组dp[i][j][k]中… 文章目录 97.小明逛公园127.骑士的攻击 97.小明逛公园 之前的题目都是只有一个出发点和到达点这道题是有多个起始对用之前的算法把每一对结果算出来也是可行的在这里使用Floyd算法。 本质上是一种动态规划dp数组dp[i][j][k]中的ij两点在以(1~k)中的点作为中间结点的时候的最小距离递推公式是dp[i][j][k]min(dp[i][k][k-1]dp[k][j][k-1], dp[i][j][k-1])遍历顺序是k在最外ij在内。本质上是因为dp[i][k][k-1]这些中间量还可能是由k更小的时候的组合推断出来的所以对于所有的i和jk都应该是从小到大递增推导所有i和j的状态所以k在最外层。 n, m map(int, input().split()) grid [[[float(inf)] * (n1) for _ in range(n1)] for _ in range(n1)] for i in range(m):u, v, w map(int, input().split())grid[u][v][0] wgrid[v][u][0] w q int(input()) plans [] for i in range(q):start, end map(int, input().split())plans.append([start, end])for k in range(1, n1):for i in range(1, n1):for j in range(1, n1):grid[i][j][k] min(grid[i][j][k-1], grid[i][k][k-1] grid[k][j][k-1])for plan in plans:if grid[plan[0]][plan[1]][-1] ! float(inf):print(grid[plan[0]][plan[1]][-1])else:print(-1)127.骑士的攻击 这道题使用的是Astar算法是在BFS的基础上进行了一定的优化。普通的BFS也能做但是在广度搜索的时候会有很多的浪费因此关键就在于每次如何选择朝向目标移动的最近的点。Astar通过计算每个点的预估距离并用小顶堆进行排序从而使得每次取出来的都是当前可能最小距离的点。在这题使用欧氏距离最合适总距离是点距离原点的欧氏距离加上到目标点的欧氏距离。 import heapqn int(input()) directions [[-2, 1], [-1, 2], [1, 2], [2, 1], [-2, -1], [-1, -2], [1, -2], [2, -1]] Distance lambda x, y, tar_x, tar_y: (x - tar_x) ** 2 (y - tar_y) ** 2class Knight:def __init__(self, a1, a2, g0, f0, h0):self.x a1self.y a2self.g gself.f f self.h hdef __lt__(self, k):return self.f k.fdef __str__(self):return fKnight:{self.x},{self.y}def bfs(grid, knight, target):heap []heapq.heappush(heap, knight)while heap:cur heapq.heappop(heap)if cur.x target[0] and cur.y target[1]:returnfor d in directions:next_x cur.x d[0]next_y cur.y d[1]if next_x 1 or next_x len(grid) or next_y 1 or next_y len(grid[0]):continueif not grid[next_x][next_y]:grid[next_x][next_y] grid[cur.x][cur.y] 1next_knight Knight(next_x, next_y)next_knight.g cur.g 5next_knight.h Distance(next_x, next_y, target[0], target[1])next_knight.f next_knight.g next_knight.h heapq.heappush(heap, next_knight)for i in range(n):a1, a2, b1, b2 map(int, input().split())grid [[0] * 1001 for _ in range(1001)]knight Knight(a1, a2)knight.h Distance(a1, a2, b1, b2)knight.f knight.g knight.hbfs(grid, knight, [b1, b2])print(grid[b1][b2])
http://www.pierceye.com/news/55812/

相关文章:

  • 养殖舍建设网站河南建设信息网一体化
  • 直播网站建设需要什么软件有哪些emlog转wordpress
  • 西安h5建站杭州建网站的公司
  • 网站建设应注意哪些事项建设工程合同属于
  • 网站举报有奖平台公司简介ppt模板免费下载
  • 程序做网站好还是app好网站流量查询平台
  • 天水市秦州区建设局网站dede网站模板怎么安装教程
  • 做母婴产品的网站视频制作网站推荐
  • 商业网站如何备案企业qq注册申请
  • 网站 vps网页游戏软件制作专业
  • 上海网址大全网站建设网站排名优化
  • 做商铺的网站有那些长沙建站seo公司
  • 可做区域代理的网站wordpress get_the_tag_list
  • 网站建设装什么系统北京网站设计公司yy成都柚米科技15
  • 网站设计 推广教育网站建设的意义
  • 装饰网站建设价格四川手机网
  • asp 做网站软件开发工程师报考条件
  • 贵港北京网站建设手机存储wordpress
  • 建设银行企业网站银行88影视网亲爱的热爱的电视剧大全
  • 网站制作后还能更改么培训心得体会1500字
  • 西安网站快速优化品牌怎么注册
  • 怎样在凡科免费做网站小荷作文网
  • 做铝材的网站温州外经贸局网站
  • 网站建设与管理 第2版株洲的网站建设
  • 做网站柳州网站原型设计和版式设计
  • 在哪能学到网站建设工业产品设计作品
  • asp.net 网站的头部和底部怎么来做 include上海装修公司前十强排名榜
  • 网站服务器带宽多少合适app怎么做出来
  • wordpress购买按钮广州百度seo
  • 访问网站提示输入用户名密码wordpress 执行sql update