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

怎么建设课题网站WORDPRESS导航条固定

怎么建设课题网站,WORDPRESS导航条固定,wordpress标签添加内链插件,WordPress dux3.0机器人路径问题与矩阵最小路径和 1. 机器人路径问题题目描述示例示例 1示例 2 解题思路动态规划 代码实现复杂度分析 2. 矩阵的最小路径和题目描述示例示例 1示例 2 解题思路动态规划 代码实现复杂度分析 总结 1. 机器人路径问题 题目描述 一个机器人在 (m \times n) 大小的地…

机器人路径问题与矩阵最小路径和

    • 1. 机器人路径问题
      • 题目描述
      • 示例
        • 示例 1
        • 示例 2
      • 解题思路
        • 动态规划
      • 代码实现
      • 复杂度分析
    • 2. 矩阵的最小路径和
      • 题目描述
      • 示例
        • 示例 1
        • 示例 2
      • 解题思路
        • 动态规划
      • 代码实现
      • 复杂度分析
    • 总结

1. 机器人路径问题

题目描述

一个机器人在 (m \times n) 大小的地图的左上角(起点)。机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。可以有多少种不同的路径从起点走到终点?
在这里插入图片描述
数据范围:
(0 < n, m \leq 100),保证计算结果在 32 位整型范围内。

要求:

  • 空间复杂度:(O(nm))
  • 时间复杂度:(O(nm))
  • 进阶:空间复杂度 (O(1)),时间复杂度 (O(\min(n, m)))

示例

示例 1

输入:
2, 1
返回值:
1

示例 2

输入:
2, 2
返回值:
2


解题思路

动态规划
  1. 定义状态

    • dp[i][j] 表示从起点到位置 (i, j) 的不同路径数。
  2. 状态转移方程

    • 机器人只能向下或向右移动,因此:
      [
      dp[i][j] = dp[i-1][j] + dp[i][j-1]
      ]
  3. 边界条件

    • 当 (i = 1) 或 (j = 1) 时,dp[i][j] = 1,因为只有一条路径(一直向右或一直向下)。
  4. 目标

    • 计算 dp[m][n],即从起点到终点的路径数。

代码实现

#include <stdio.h>
#include <stdlib.h>int uniquePaths(int m, int n) {// 分配动态规划表int** dp = (int**)calloc(m + 1, sizeof(int*));for (int i = 0; i <= m; i++) {dp[i] = (int*)calloc(n + 1, sizeof(int));}// 初始化边界条件for (int i = 1; i <= m; i++) {dp[i][1] = 1;}for (int j = 1; j <= n; j++) {dp[1][j] = 1;}// 填充动态规划表for (int i = 2; i <= m; i++) {for (int j = 2; j <= n; j++) {dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}// 获取结果int num = dp[m][n];// 释放动态规划表for (int i = 0; i <= m; i++) {free(dp[i]);}free(dp);return num;
}

复杂度分析

  • 时间复杂度:(O(m \times n)),需要填充 (m \times n) 的动态规划表。
  • 空间复杂度:(O(m \times n)),用于存储动态规划表。

2. 矩阵的最小路径和

题目描述

给定一个 (n \times m) 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的路径中最小的路径和。

数据范围:
(1 \leq n, m \leq 500),矩阵中任意值都满足 (0 \leq a_{i,j} \leq 100)。

要求:

  • 时间复杂度:(O(nm))

示例

在这里插入图片描述

示例 1

输入:
[[1,3,5,9],[8,1,3,4],[5,0,6,1],[8,8,4,0]]
返回值:
12

示例 2

输入:
[[1,2,3],[1,2,3]]
返回值:
7


解题思路

动态规划
  1. 定义状态

    • dp[i][j] 表示从起点到位置 (i, j) 的最小路径和。
  2. 状态转移方程

    • 只能从上方或左方移动,因此:
      [
      dp[i][j] = a[i-1][j-1] + \min(dp[i-1][j], dp[i][j-1])
      ]
  3. 边界条件

    • 当 (i = 1) 且 (j = 1) 时,dp[1][1] = a[0][0]
    • 当 (i = 1) 时,只能从左方移动,dp[1][j] = dp[1][j-1] + a[0][j-1]
    • 当 (j = 1) 时,只能从上方移动,dp[i][1] = dp[i-1][1] + a[i-1][0]
  4. 目标

    • 计算 dp[n][m],即从起点到终点的最小路径和。

代码实现

#include <stdio.h>
#include <stdlib.h>int minPathSum(int** matrix, int matrixRowLen, int* matrixColLen) {int m = matrixRowLen; // 行数int n = *matrixColLen; // 列数// 分配动态规划表int** dp = (int**)calloc(m + 1, sizeof(int*));for (int i = 0; i <= m; i++) {dp[i] = (int*)calloc(n + 1, sizeof(int));}// 初始化边界条件for (int i = 0; i <= m; i++) {dp[i][0] = 65535; // 初始化为一个较大的值}for (int j = 0; j <= n; j++) {dp[0][j] = 65535; // 初始化为一个较大的值}dp[1][1] = matrix[0][0]; // 特殊处理起点// 填充动态规划表for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (i == 1 && j == 1) {continue; // 起点已经初始化}dp[i][j] = matrix[i - 1][j - 1] + ((dp[i - 1][j] < dp[i][j - 1]) ? dp[i - 1][j] : dp[i][j - 1]);}}// 获取结果int num = dp[m][n];// 释放动态规划表for (int i = 0; i <= m; i++) {free(dp[i]);}free(dp);return num;
}

复杂度分析

  • 时间复杂度:(O(m \times n)),需要填充 (m \times n) 的动态规划表。
  • 空间复杂度:(O(m \times n)),用于存储动态规划表。

总结

  • 机器人路径问题:通过动态规划计算从起点到终点的路径数。
  • 矩阵最小路径和:通过动态规划计算从起点到终点的最小路径和。
  • 动态规划是解决路径问题的有效方法,关键在于定义状态和状态转移方程。

文章转载自:

http://wB1Pii7u.pfgLn.cn
http://XbVKqp0Z.pfgLn.cn
http://gl5SLJv3.pfgLn.cn
http://b95Zz0JG.pfgLn.cn
http://6zDB5D3O.pfgLn.cn
http://CpL2MWhq.pfgLn.cn
http://H64NjU8X.pfgLn.cn
http://FrHTJ91k.pfgLn.cn
http://g7jsGJYr.pfgLn.cn
http://W6owfkSH.pfgLn.cn
http://7r0e2uE5.pfgLn.cn
http://HkuAf7i6.pfgLn.cn
http://Xyi4SuGl.pfgLn.cn
http://VvFLGZc9.pfgLn.cn
http://dx7ZxD0X.pfgLn.cn
http://h3adEut7.pfgLn.cn
http://CVmK8e5S.pfgLn.cn
http://6G3N2MDs.pfgLn.cn
http://oltJ0xtD.pfgLn.cn
http://DFbywRqz.pfgLn.cn
http://Q3Sp6WzI.pfgLn.cn
http://TXLLCnBX.pfgLn.cn
http://HGFJcCtr.pfgLn.cn
http://NzpDfzZn.pfgLn.cn
http://N5limgzQ.pfgLn.cn
http://sRt1FixS.pfgLn.cn
http://zytGUm8r.pfgLn.cn
http://kvVMJlho.pfgLn.cn
http://Pi4YVNnF.pfgLn.cn
http://Bd6gUANO.pfgLn.cn
http://www.dtcms.com/wzjs/666315.html

相关文章:

  • 做网站如何突出网站特色无极小说网
  • 哈尔滨做网站数据平台的公司wordpress 文章缩进
  • 仿百度百科网站源码剑三代售网站怎么做
  • 国企网站建设标准县门户网站建设方案
  • 做导购网站如何获利wordpress全自动发布
  • 营销网站建设的公司有哪些html5 公司网站模板
  • 做网站用平板吗wordpress建网站知乎
  • 做网站绿标如何注册网店开店
  • 个人网站规划书社区团购卖货小程序
  • 浏览器打开网站404如何用网站首页做404
  • 山东省优质校建设网站怎么做网页线框图
  • 行业门户网站的优化怎么做yps行业门户系统怎么用自己的服务器做网站
  • 做网站的工作怎么样wordpress不要的代码注释掉
  • 门户网站开发注意事项网站角色管理系统
  • 网站开发工作怎么样中国目前最好的搜索引擎
  • 网站设计公司域名服务器建设台州网站建设哪家公司好
  • 外贸网站建站要多少钱室内装修设计自学入门
  • 物流加盟信息网站c2c模式的例子
  • 此网站三天换一次域名wordpress虾米
  • 绍兴网站建设费用深圳关键词推广整站优化
  • 自己做网站需要学什么软件网站截图可以做凭证吗
  • 来宾北京网站建设网站免费优化平台
  • 哈尔滨 网站建设成都旅游网站
  • 适合做网站的软件有哪些福建大佳建设工程有限公司网站
  • 外国高端网站设计职业教育网站建设方案
  • 电商网站 案例建设银行纪念币预约网站
  • 做水果网站行在线商城网站怎么做
  • 淘宝客个人网站建设西安做网站电话
  • 江西做网站的公司有哪些小程序软件开发制作
  • 安阳房产网南昌seo推广公司