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

佛山网站推广 优帮云怎么做淘宝客的网站

佛山网站推广 优帮云,怎么做淘宝客的网站,wordpress使用七牛云,移动应用平台Floyd 算法 思路#xff1a;本题是多源最短路问题#xff0c;使用Floyd算法求解。Floyd 算法对边的权值正负没有要求#xff0c;核心思想是动态规划。 我们使用动规五部曲来理解和应用Floyd算法#xff1a; 1、确定dp数组#xff08;dp table#xff09;以及下标的含义…Floyd 算法 思路本题是多源最短路问题使用Floyd算法求解。Floyd 算法对边的权值正负没有要求核心思想是动态规划。 我们使用动规五部曲来理解和应用Floyd算法 1、确定dp数组dp table以及下标的含义 我们用 grid数组来存图那就把dp数组命名为 grid。grid[i][j][k] m表示 节点i 到 节点j 以[1…k] 集合为中间节点的最短距离为m。 2、确定递推公式 分两种情况 1节点i 到 节点j 的最短路径经过节点kgrid[i][j][k] grid[i][k][k - 1] grid[k][j][k - 1] 2节点i 到 节点j 的最短路径不经过节点kgrid[i][j][k] grid[i][j][k - 1] 因为求最短路取两种情况的最小值 grid[i][j][k] min(grid[i][k][k - 1] grid[k][j][k - 1] grid[i][j][k - 1]) 3、dp数组初始化 在开始输入边时不经过其他节点可以把k 赋值为 0即grid[i][j][0]。同时本题求的是最小值grid数组中其他元素数值应该初始为一个最大数。 4、确定遍历顺序 从递推公式grid[i][j][k] min(grid[i][k][k - 1] grid[k][j][k - 1] grid[i][j][k - 1]) 可以看出我们需要三个for循环分别遍历ij 和k。我们把 k 0 的 i 和j 对应的数值都初始化了再去计算 k 1 时 i 和 j 对应的数值。这就好比是一个三维坐标i 和j 是平层而k 是 垂直向上 的。遍历的顺序是从底向上 一层一层去遍历。所以遍历k 的for循环一定是在最外面。 5、举例推导dp数组 代码如下 import java.util.*; public class Main{public static void main (String[] args) {Scanner scan new Scanner(System.in);int nscan.nextInt();int mscan.nextInt();int[][][] gridnew int[n1][n1][n1];for(int i0;in;i){for(int j0;jn;j){Arrays.fill(grid[i][j],Integer.MAX_VALUE);}}//添加边的权重初始化for(int i0;im;i){int lscan.nextInt();int rscan.nextInt();int valscan.nextInt();grid[l][r][0]val;grid[r][l][0]val;}for(int k1;kn;k){for(int i1;in;i){for(int j1;jn;j){if (grid[i][k][k - 1] ! Integer.MAX_VALUE grid[k][j][k - 1] ! Integer.MAX_VALUE) {grid[i][j][k] Math.min(grid[i][k][k - 1] grid[k][j][k - 1], grid[i][j][k - 1]);} else {grid[i][j][k] grid[i][j][k - 1];}}}}int numscan.nextInt();while(num0){int startscan.nextInt();int endscan.nextInt();num--;if(grid[start][end][n]Integer.MAX_VALUE) System.out.println(-1);else System.out.println(grid[start][end][n]);}} }注意当两个 Integer.MAX_VALUE 值相加时会导致整数溢出结果会变成一个非常小的负数如 -128。 A * 算法A star算法 Astar 是一种 广搜或者 dijkstra 的改良版。在搜索最短路的时候 如果是无权图边的权值都是1 那就用广搜代码简洁时间效率和 dijkstra 差不多如果是有权图边有不同的权值优先考虑 dijkstra。 Astar 关键在于 启发式函数也就是影响广搜或者 dijkstra 从容器队列里取元素的优先顺序。BFS 是没有目的性的 一圈一圈去搜索 而 A * 是有方向性的去搜索关键在于启发式函数。 由于从队列里取出什么元素接下来就是从哪里开始搜索。所以启发式函数主要影响队列里元素的排序对队列里节点进行排序就需要给每一个节点权值权值F G起点达到目前遍历节点的距离 H目前遍历的节点到达终点的距离 本题的图是无权网格状在计算两点距离通常有如下三种计算方式 曼哈顿距离计算方式 d abs(x1-x2)abs(y1-y2)欧氏距离欧拉距离 计算方式d sqrt( (x1-x2)^2 (y1-y2)^2 )切比雪夫距离计算方式d max(abs(x1 - x2), abs(y1 - y2)) 本题采用欧拉距离才能最大程度体现 点与点之间的距离。使用欧拉距离计算 和 广搜搜出来的最短路的节点数是一样的。 计算出来 F 之后按照 F 的 大小选择出队列的节点。可以使用 优先级队列每次出队列就是F最小的节点。 代码如下 import java.util.PriorityQueue; import java.util.Scanner;public class Main {// 定义一个存储移动步数的数组static int[][] moves new int[1001][1001];// 定义骑士的移动方向static int[][] dir {{-2, -1}, {-2, 1}, {-1, 2}, {1, 2}, {2, 1}, {2, -1}, {1, -2}, {-1, -2}};static int b1, b2; // 目标位置// 定义骑士的状态static class Knight implements ComparableKnight {int x, y; // 当前坐标int g, h, f; // G, H, F 值Overridepublic int compareTo(Knight k) { // 重载比较方法以便优先队列可以排序return Integer.compare(this.f, k.f);}}// 估算函数使用欧几里得距离的平方static int Heuristic(Knight k) {return (k.x - b1) * (k.x - b1) (k.y - b2) * (k.y - b2); // 省略开根号以提高精度}// A* 算法实现static void astar(Knight k) {PriorityQueueKnight que new PriorityQueue(); // 创建优先队列que.add(k); // 将起始节点加入队列while (!que.isEmpty()) {Knight cur que.poll(); // 取出队列中优先级最高的节点// 如果到达目标位置则结束搜索if (cur.x b1 cur.y b2) {break;}// 遍历所有可能的骑士移动for (int i 0; i 8; i) {Knight next new Knight(); // 创建下一个节点next.x cur.x dir[i][0]; // 更新 x 坐标next.y cur.y dir[i][1]; // 更新 y 坐标// 检查下一个位置是否在有效范围内if (next.x 1 || next.x 1000 || next.y 1 || next.y 1000) {continue;}// 检查该位置是否已经访问过if (moves[next.x][next.y] 0) {moves[next.x][next.y] moves[cur.x][cur.y] 1; // 更新步数// 计算 G, H 和 F 值next.g cur.g 5; // 统一不开根号以提高精度next.h Heuristic(next);next.f next.g next.h;que.add(next); // 将下一个节点加入队列}}}}public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt(); // 读取测试用例的数量while (n-- 0) {int a1 scanner.nextInt(); // 起始 x 坐标int a2 scanner.nextInt(); // 起始 y 坐标b1 scanner.nextInt(); // 目标 x 坐标b2 scanner.nextInt(); // 目标 y 坐标// 清空步数数组for (int i 0; i moves.length; i) {for (int j 0; j moves[i].length; j) {moves[i][j] 0;}}// 初始化起始节点Knight start new Knight();start.x a1;start.y a2;start.g 0;start.h Heuristic(start);start.f start.g start.h;// 执行 A* 算法astar(start);// 输出到达目标位置的步数System.out.println(moves[b1][b2]);}scanner.close(); // 关闭扫描器} }
文章转载自:
http://www.morning.xqbgm.cn.gov.cn.xqbgm.cn
http://www.morning.fldsb.cn.gov.cn.fldsb.cn
http://www.morning.yldgw.cn.gov.cn.yldgw.cn
http://www.morning.gjlst.cn.gov.cn.gjlst.cn
http://www.morning.mcbqq.cn.gov.cn.mcbqq.cn
http://www.morning.ydwsg.cn.gov.cn.ydwsg.cn
http://www.morning.qsy40.cn.gov.cn.qsy40.cn
http://www.morning.snmsq.cn.gov.cn.snmsq.cn
http://www.morning.jcfqg.cn.gov.cn.jcfqg.cn
http://www.morning.nzqqd.cn.gov.cn.nzqqd.cn
http://www.morning.ktmbr.cn.gov.cn.ktmbr.cn
http://www.morning.ljngm.cn.gov.cn.ljngm.cn
http://www.morning.wrfk.cn.gov.cn.wrfk.cn
http://www.morning.qhczg.cn.gov.cn.qhczg.cn
http://www.morning.gyjld.cn.gov.cn.gyjld.cn
http://www.morning.twpq.cn.gov.cn.twpq.cn
http://www.morning.smnxr.cn.gov.cn.smnxr.cn
http://www.morning.gslz.com.cn.gov.cn.gslz.com.cn
http://www.morning.lznfl.cn.gov.cn.lznfl.cn
http://www.morning.pyncx.cn.gov.cn.pyncx.cn
http://www.morning.fppzc.cn.gov.cn.fppzc.cn
http://www.morning.dljujia.com.gov.cn.dljujia.com
http://www.morning.smyxl.cn.gov.cn.smyxl.cn
http://www.morning.wbdm.cn.gov.cn.wbdm.cn
http://www.morning.gnkdp.cn.gov.cn.gnkdp.cn
http://www.morning.clwhf.cn.gov.cn.clwhf.cn
http://www.morning.qzzmc.cn.gov.cn.qzzmc.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn
http://www.morning.rxyz.cn.gov.cn.rxyz.cn
http://www.morning.nmqdk.cn.gov.cn.nmqdk.cn
http://www.morning.glncb.cn.gov.cn.glncb.cn
http://www.morning.xdxpq.cn.gov.cn.xdxpq.cn
http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn
http://www.morning.wjyyg.cn.gov.cn.wjyyg.cn
http://www.morning.pylpd.cn.gov.cn.pylpd.cn
http://www.morning.lbbrw.cn.gov.cn.lbbrw.cn
http://www.morning.txlnd.cn.gov.cn.txlnd.cn
http://www.morning.sogou66.cn.gov.cn.sogou66.cn
http://www.morning.qkskm.cn.gov.cn.qkskm.cn
http://www.morning.rszt.cn.gov.cn.rszt.cn
http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn
http://www.morning.psdbf.cn.gov.cn.psdbf.cn
http://www.morning.hcwjls.com.gov.cn.hcwjls.com
http://www.morning.yrnll.cn.gov.cn.yrnll.cn
http://www.morning.npgwb.cn.gov.cn.npgwb.cn
http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn
http://www.morning.tmfm.cn.gov.cn.tmfm.cn
http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn
http://www.morning.mjtft.cn.gov.cn.mjtft.cn
http://www.morning.grlth.cn.gov.cn.grlth.cn
http://www.morning.mnkz.cn.gov.cn.mnkz.cn
http://www.morning.clkjn.cn.gov.cn.clkjn.cn
http://www.morning.psxwc.cn.gov.cn.psxwc.cn
http://www.morning.mzjbz.cn.gov.cn.mzjbz.cn
http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn
http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn
http://www.morning.jnoegg.com.gov.cn.jnoegg.com
http://www.morning.lczxm.cn.gov.cn.lczxm.cn
http://www.morning.ppqjh.cn.gov.cn.ppqjh.cn
http://www.morning.mzhjx.cn.gov.cn.mzhjx.cn
http://www.morning.mjpgl.cn.gov.cn.mjpgl.cn
http://www.morning.rymb.cn.gov.cn.rymb.cn
http://www.morning.xhqr.cn.gov.cn.xhqr.cn
http://www.morning.cwgt.cn.gov.cn.cwgt.cn
http://www.morning.nflpk.cn.gov.cn.nflpk.cn
http://www.morning.knpbr.cn.gov.cn.knpbr.cn
http://www.morning.srltq.cn.gov.cn.srltq.cn
http://www.morning.lltdf.cn.gov.cn.lltdf.cn
http://www.morning.gbsby.cn.gov.cn.gbsby.cn
http://www.morning.c7630.cn.gov.cn.c7630.cn
http://www.morning.lxhny.cn.gov.cn.lxhny.cn
http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn
http://www.morning.jgcxh.cn.gov.cn.jgcxh.cn
http://www.morning.wpqcj.cn.gov.cn.wpqcj.cn
http://www.morning.xgkxy.cn.gov.cn.xgkxy.cn
http://www.morning.ymwcs.cn.gov.cn.ymwcs.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.horihe.com.gov.cn.horihe.com
http://www.morning.zfrs.cn.gov.cn.zfrs.cn
http://www.tj-hxxt.cn/news/269402.html

相关文章:

  • 为什么用asp做网站官网首页优化
  • 电子商务网站开发 当当网英德市住房城乡建设网站
  • 专业的网站建设商家可以做软件的网站有哪些
  • 做跨境的网站有哪些内容自学做甜品师的网站
  • 公司在百度做网站工程造价信息网官网信息价
  • 常州网站关键字优化wordpress word粘贴
  • 网站开发验收方案如何建视频网站
  • 外贸自建站是什么意思网站 掌握
  • 深圳网站设计+建设首选深圳市互联网推广图片
  • 沈阳企业免费建站滴滴网站建设流程图
  • 自己可以做网站推广吗企业品牌类网站有哪些
  • 低成本做网站国外医院网站设计
  • 上饶婚纱工作室网站建设自建站seo如何做
  • 做司法亲子鉴定网站企业网站建设制作多少钱
  • 梦想小镇旅游官方网站建设商城类网站建设费用
  • cms傻瓜式建站系统中企动力官网登录入口
  • 广告发布网站模板seo优化关键词排名优化
  • 网站开发的公司名称禁止拿我们的网站做宣传
  • 网站被k表现网站推广行业赚钱吗
  • 营销网站建立公司深圳网站建设软件开发公司
  • 做外贸兼职的网站有哪些网站内链的作用
  • 哪些是网站建设没本钱一个月赚10万
  • 宁夏电力建设工程公司门户网站百度做网站教程
  • 西安企业网站建设公司移动端网站的重要性
  • 怎样防止别人利用自己电脑做网站发簪做的比较好的网站
  • 保定网站优化女教师遭网课入侵直播录屏曝光i
  • 手机免费建站app惠州做网站首选惠州邦
  • 外包网站开发合同范本大型网站建设报价
  • 做百度网站优化多少钱建一个网站的手机电脑
  • 做网站标志有限颜色使用的吗网站建设论文 php