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

青岛网站集约化管理平台wordpress 跳转 文章

青岛网站集约化管理平台,wordpress 跳转 文章,顺电网上商城怎么样,市场调研报告包括哪些内容卡码网题目: 97. 小明逛公园127. 骑士的攻击 其他: 今日总结 往期打卡 97. 小明逛公园 跳转: 97. 小明逛公园 学习: 代码随想录公开讲解 问题: 小明喜欢去公园散步,公园内布置了许多的景点,相互之间通过小路连接,小明希望在观看景点的同时…

卡码网题目:

  • 97. 小明逛公园
  • 127. 骑士的攻击

其他:

今日总结
往期打卡


97. 小明逛公园

跳转: 97. 小明逛公园

学习: 代码随想录公开讲解

问题:

小明喜欢去公园散步,公园内布置了许多的景点,相互之间通过小路连接,小明希望在观看景点的同时,能够节省体力,走最短的路径。

给定一个公园景点图,图中有 N 个景点(编号为 1 到 N),以及 M 条双向道路连接着这些景点。每条道路上行走的距离都是已知的。

小明有 Q 个观景计划,每个计划都有一个起点 start 和一个终点 end,表示他想从景点 start 前往景点 end。由于小明希望节省体力,他想知道每个观景计划中从起点到终点的最短路径长度。 请你帮助小明计算出每个观景计划的最短路径长度。

思路:

Floyd算法,适合求任意起点终点之间的最短路
以每个节点为中点将其他节点之间的距离更新一遍,就可以得到每个节点到所有节点的最短路

复杂度:

  • 时间复杂度: O ( n 3 ) O(n^3) O(n3)
  • 空间复杂度: O ( n 2 ) O(n^2) O(n2)

代码:

import java.util.*;public class Main {public static void main(String[] args) {int INF = 0x3f3f3f3f;Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();int[][] w = new int[n + 1][n + 1];for(int i = 1;i <= n;i++)for(int j = 1;j <= n;j++)w[j][i] = w[i][j] = i == j ? 0 : INF;for(int i = 0;i < m;i++){int u = scanner.nextInt();int v = scanner.nextInt();int weight = scanner.nextInt();w[v][u] = w[u][v] = weight;}for(int p = 1;p <= n;p++){for(int i = 1;i <= n;i++)for(int j = 1;j <= n;j++)w[i][j] = Math.min(w[i][j],w[i][p] + w[p][j]);}int q = scanner.nextInt();while(q-- > 0){int start = scanner.nextInt();int end = scanner.nextInt();int len = w[start][end];System.out.println(len >= INF / 2 ? -1 : len);}}
}

127. 骑士的攻击

跳转: 127. 骑士的攻击

学习: 代码随想录公开讲解

问题:

在象棋中,马和象的移动规则分别是“马走日”和“象走田”。现给定骑士的起始坐标和目标坐标,要求根据骑士的移动规则,计算从起点到达目标点所需的最短步数。

棋盘大小 1000 x 1000(棋盘的 x 和 y 坐标均在 [1, 1000] 区间内,包含边界)

思路:

A算法,BFS算法的优化,每次选择权重最大的路径继续走(dijkstra也是每次更新距离,不过其模式比较固定,依赖边权,而且不支持处理负环,A是依照启发式算法排序,比较灵活)

复杂度:

  • 时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)(取决于启发式算法,可能退化成n^2)
  • 空间复杂度: O ( n 2 ) O(n^2) O(n2)

代码:

import java.util.*;class Main{public static int[][] dir = {{-2,-1},{-2,1},{2,1},{2,-1},{1,2},{1,-2},{-1,2},{-1,-2}};public static int[][] moves = new int[1001][1001];public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();while(n-- > 0){int a1 = scanner.nextInt();int a2 = scanner.nextInt();int b1 = scanner.nextInt();int b2 = scanner.nextInt();System.out.println(astar(a1,a2,b1,b2));}}private static int astar(int a1, int a2, int b1, int b2) {PriorityQueue<int[]> pq = new PriorityQueue<>(new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {return Integer.compare(o1[4],o2[4]);}});for(int[] i : moves)Arrays.fill(i,-1);moves[a1][a2] = 0;int h = heuristic(a1,a2,b1,b2);pq.offer(new int[]{a1,a2,0,h,h});while(!pq.isEmpty()){int[] cur = pq.poll();if(cur[0] == b1 && cur[1] == b2){return moves[b1][b2];}for(int[] i : dir){int nx = cur[0] + i[0];int ny = cur[1] + i[1];if(nx >= 1 && nx <= 1000 && ny >= 1 && ny <= 1000 && moves[nx][ny] == -1){moves[nx][ny] = moves[cur[0]][cur[1]] + 1;int h1 = heuristic(nx,ny,b1,b2);int g1 = cur[2] + 5;pq.offer(new int[]{nx,ny,g1,h1,h1 + g1});}}}return -1;}private static int heuristic(int a1, int a2, int b1, int b2) {// return Math.abs((a1 + a2) - (b1 + b2));return (int) (Math.pow(a1 - b1,2) + Math.pow(a2 - b2,2));}
}

总结

学习了Floyd和A*算法

往期打卡

代码随想录算法训练营第五十二天

代码随想录算法训练营第五十一天

代码随想录算法训练营第五十天

代码随想录算法训练营第四十九天

代码随想录算法训练营第四十八天

代码随想录算法训练营第四十六&四十七天

代码随想录算法训练营第四十五天

代码随想录算法训练营第四十四天

代码随想录算法训练营第四十二&四十三天

代码随想录算法训练营第四十一天

代码随想录算法训练营第四十天

代码随想录算法训练营第三十九天

代码随想录算法训练营第三十八天

代码随想录算法训练营第三十七天

代码随想录算法训练营第三十五&三十六天

代码随想录算法训练营第三十四天

代码随想录算法训练营第三十三天(补)

代码随想录算法训练营第三十二天

代码随想录算法训练营第三十一天

代码随想录算法训练营第三十天(补)

代码随想录算法训练营第二十九天

代码随想录算法训练营第二十八天

代码随想录算法训练营第二十七天(补)

代码随想录算法训练营第二十六天

代码随想录算法训练营第二十五天

代码随想录算法训练营第二十四天

代码随想录算法训练营第二十三天

代码随想录算法训练营周末四

代码随想录算法训练营第二十二天(补)

代码随想录算法训练营第二十一天

代码随想录算法训练营第二十天

代码随想录算法训练营第十九天

代码随想录算法训练营第十八天

代码随想录算法训练营第十七天

代码随想录算法训练营周末三

代码随想录算法训练营第十六天

代码随想录算法训练营第十五天

代码随想录算法训练营第十四天

代码随想录算法训练营第十三天

代码随想录算法训练营第十二天

代码随想录算法训练营第十一天

代码随想录算法训练营周末二

代码随想录算法训练营第十天

代码随想录算法训练营第九天

代码随想录算法训练营第八天

代码随想录算法训练营第七天

代码随想录算法训练营第六天

代码随想录算法训练营第五天

代码随想录算法训练营周末一

代码随想录算法训练营第四天

代码随想录算法训练营第三天

代码随想录算法训练营第二天

代码随想录算法训练营第一天


文章转载自:

http://CcUxGymx.gchqy.cn
http://NAE4RRON.gchqy.cn
http://fRa7eWEd.gchqy.cn
http://p1KUdSru.gchqy.cn
http://jjg9enh0.gchqy.cn
http://LbkVwb6M.gchqy.cn
http://hDQZdtjB.gchqy.cn
http://2290vPVI.gchqy.cn
http://ZwmBHz8c.gchqy.cn
http://B2eI4UGR.gchqy.cn
http://eWd05msD.gchqy.cn
http://tYwDprIF.gchqy.cn
http://cz8qjtFY.gchqy.cn
http://BMa48Dfw.gchqy.cn
http://Y1tZ3ZA9.gchqy.cn
http://Re80YOIZ.gchqy.cn
http://bI9eKo5l.gchqy.cn
http://pYUztJqJ.gchqy.cn
http://ScwUwPkm.gchqy.cn
http://39fLKQqR.gchqy.cn
http://AwSre9qZ.gchqy.cn
http://FDy7UOnB.gchqy.cn
http://sT70Pih3.gchqy.cn
http://TkvfaqBv.gchqy.cn
http://n7oLwp4g.gchqy.cn
http://sJm38i3B.gchqy.cn
http://KVzCol6n.gchqy.cn
http://OdQ7HCEF.gchqy.cn
http://HGDeU9xH.gchqy.cn
http://PsuJRzaH.gchqy.cn
http://www.dtcms.com/wzjs/696324.html

相关文章:

  • 网站客户案例wordpress主题 Grace
  • 青岛红岛做网站可以建站的网站
  • 手机免费网站制作西安网站 技术支持牛商网
  • 一个完整的个人网站怎么做58同城网站吗
  • 成都小程序制作工作室seo 专业为网站建设
  • 建立网站 知乎服装网都有哪些网站
  • 做网站 工资高吗网站二级域名怎么设置
  • 旅游景区网站建设的必要性企业为什么上市
  • 网站搭建软件企业策划文案论文
  • 长春网站优化方式宁波seo营销推广
  • 网站seo优化要怎么做wordpress怎么增加语言包
  • wordpress 换域名 全站301重定向建设商城网站公司吗
  • m导航网站如何做淘宝客网站服务器端口设置
  • 常州天宁区做网站公司浙江火电建设有限公司网站
  • 河北营销型网站建设企业网站源码千博
  • 网站水印图片欣赏网站建设中常见的问题
  • 企业营销网站建设费用南昌网站开发培训中心
  • 滨州网站建设公司报价霍州做网站
  • 苏州网站建设公司哪个好大型网站 中小型网站
  • 绍兴做网站价格网店代运营哪里找
  • 漳州市建设网站焦作做网站
  • 网站建设分解结构佛山网站建设 奇锐科技
  • 网站备案要几天服装定制尺寸量身表
  • 网站开发的公司属于什么行业网站设置超链接代码
  • 怎么做期货网站怎样找到工厂直招网站
  • 顺的品牌网站设计价位ps制作网站logo
  • 贵港北京网站建设洛阳网站改版维护公司
  • 大连做网站哪家服务好开发公司和建筑公司同一法人
  • 手机视频网站建设河北中石化建设网站
  • 上海做网站的小公司建立网站的费用