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

关于动漫的网站建设成都seo优化排名推广

关于动漫的网站建设,成都seo优化排名推广,怎么把自己做的网站发布出去,学做网站教程视频跳跃-动态规划问题1、题目描述2、解题思路2.1 解法一:动态规划2.2 解法二:DFS深度优先搜索最大权值1、题目描述 小蓝在一个 n 行 m 列的方格图中玩一个游戏。 开始时,小蓝站在方格图的左上角,即第 11 行第 11 列。 小蓝可以在方格…

跳跃-动态规划问题

  • 1、题目描述
  • 2、解题思路
    • 2.1 解法一:动态规划
    • 2.2 解法二:DFS深度优先搜索最大权值

1、题目描述

  小蓝在一个 nm 列的方格图中玩一个游戏。

  开始时,小蓝站在方格图的左上角,即第 11 行第 11 列。

  小蓝可以在方格图上走动,走动时,如果当前在第 r 行第 c* 列,他不能走到行号比 r 小的行,也不能走到列号比 c 小的列。同时,他一步走的直线距离不超过 3。

  例如,如果当前小蓝在第 3 行第 5 列,他下一步可以走到第 3 行第 6 列、第 3 行第 7 列、第 3 行第 8 列、第 4 行第 5 列、第 4 行第 6 列、第 4 行第 7 列、第 5 行第 5 列、第 55 行第 6 列、第 6 行第 5 列之一。

  小蓝最终要走到第 n 行第 m 列。

  在图中,有的位置有奖励,走上去即可获得,有的位置有惩罚,走上去就要接受惩罚。奖励和惩罚最终抽象成一个权值,奖励为正,惩罚为负。

  小蓝希望,从第 1 行第 1 列走到第 n 行第 m* 列后,总的权值和最大。请问最大是多少?

  输入描述

  输入的第一行包含两个整数 n,m,表示图的大小。

  接下来 n 行,每行 m* 个整数,表示方格图中每个点的权值。

  其中,1≤n≤100,−104≤权值≤1041\le n\le 100,-10^4\le 权值\le10^41n100,104权值104

  输出描述

  输出一个整数,表示最大权值和。

  输入输出样例

  示例 1

输入

3 5
-4 -5 -10 -3 1
7 5 -9 3 -10
10 -2 6 -10 -4

输出

15

  运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

2、解题思路

2.1 解法一:动态规划

image-20230321224826831

  开始的时候我们站在(1,1)(1,1)(1,1)位置,且一步走的直线距离不超过3,如上图所示,假设我们现在开始在(1,1)(1,1)(1,1)位置,那么我们下一步的位置只能是(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(3,1),(3,2),(4,1)(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(3,1),(3,2),(4,1)(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(3,1),(3,2),(4,1)其中的一个。

  那我们可以由此建立一个搜索的坐标数组,每次从当前位置搜的时候我们就扩展坐标即可。

  令dp[i][j]dp[i][j]dp[i][j]表示从(1,1)(1,1)(1,1)到达(i,j)(i,j)(i,j)位置获得的最大权值。

  但是我们当前位置是由前面九个位置决定的,所以我们需要将上面的坐标反推回去。

(−1,−2),(−1,−3),(−1,−4),(−2,−1),(−2,−2),(−2,−3),(−3,−1),(−3,−2),(−4,−1)(-1,-2),(-1,-3),(-1,-4),(-2,-1),(-2,-2),(-2,-3),(-3,-1),(-3,-2),(-4,-1)(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(3,1),(3,2),(4,1)

  那么我们建立一个扩展的坐标数组

//当前位置只能由前面9个位置到达,所以都填了负号public static int[][] dirs={{0,-1},{0,-2},{0,-3},{-1,0},{-1,-1},{-1,-2},{-2,0},{-2,-1},{-3,0}};

  每搜索到一个节点(x,y),就判断当前的dp[i][j]dp[x][y]+a[i]哪个大即可,状态转移方程如下:
dp[i][j]=Math.max(dp[i][j],dp[x][y]+a[i][j])dp[i][j]=Math.max(dp[i][j],dp[x][y]+a[i][j]) dp[i][j]=Math.max(dp[i][j],dp[x][y]+a[i][j])
  完整代码实现:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.Arrays;
//dp[i][j]表示从(1,1)到达(i,j)位置获得的最大权值
public class Main {//当前位置只能由前面9个位置到达,所以都填了负号public static int[][] dirs={{0,-1},{0,-2},{0,-3},{-1,0},{-1,-1},{-1,-2},{-2,0},{-2,-1},{-3,0}};public static StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));public static void main(String[] args) throws IOException {int n = nextInt();int m = nextInt();int[][] a = new int[n + 1][m + 1];int[][] dp = new int[n + 1][m + 1];for (int i = 1; i <=n; i++) {for (int j = 1; j <=m ; j++) {a[i][j]=nextInt();}}for (int[] ints : dp) {Arrays.fill(ints,Integer.MIN_VALUE);}dp[1][1]=a[1][1];//初始化for (int i = 1; i <=n ; i++) {for (int j = 1; j <=m; j++) {for (int k = 0; k <9; k++) {//9个位置扩展//扩展int x = i + dirs[k][0];int y = j + dirs[k][1];if(x>=1&&x<=n&&y>=1&&y<=m){ //判断是否越界dp[i][j]=Math.max(dp[i][j],dp[x][y]+a[i][j]);}}}}System.out.println(dp[n][m]);}public static int nextInt() throws IOException {st.nextToken();return (int)st.nval;}
}

image-20230321225601726

2.2 解法二:DFS深度优先搜索最大权值

  使用深度优先遍历,我们对可扩展的方向进行DFS,每次找到终点(n,m)(n,m)(n,m)的时候我们就更新一下最大权值即可。

  但是请注意,现在我们是从左上往右下走,所以坐标是正的,此时扩展的方向数组为:

  //这里是往右下方向走,所以坐标都是正的public static int[][] dirs={{0,1},{0,2},{0,3},{1,0},{1,1},{1,2},{2,0},{2,1},{3,0}};

  完整代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
public class Main {//这里是往右下方向走,所以坐标都是正的public static int[][] dirs={{0,1},{0,2},{0,3},{1,0},{1,1},{1,2},{2,0},{2,1},{3,0}};public static int n;public static int m;public static int[][] a;public static int cnt=0;public static StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));public static void main(String[] args) throws IOException {n = nextInt();m = nextInt();a = new int[n + 1][m + 1];for (int i = 1; i <=n; i++) {for (int j = 1; j <=m ; j++) {a[i][j]=nextInt();}}dfs(1,1,a[1][1]);System.out.println(cnt);}public static void dfs(int x,int y,int res){if(x==n&&y==m){ //到达终点之后,更新权值和cnt=Math.max(cnt,res);return;}//开始扩展for (int[] dir : dirs) {//(x,y)下一个位置的坐标(ex,ey)int ex = x + dir[0];int ey = y + dir[1];if(ex>=1&&ex<=n&&ey>=1&&ey<=m){ //判断是否越界dfs(ex,ey,res+a[ex][ey]);}}}public static int nextInt() throws IOException {st.nextToken();return (int)st.nval;}
}

image-20230321225933862

  这道题有点类似于那个数字三角形,那个题是只能往右边或者下边走,同样反推回去建立可扩展的坐标数组即可。


文章转载自:
http://galvanography.rkdw.cn
http://eradication.rkdw.cn
http://neoprene.rkdw.cn
http://tommy.rkdw.cn
http://electroslag.rkdw.cn
http://ferrozirconium.rkdw.cn
http://automaticity.rkdw.cn
http://clandestine.rkdw.cn
http://repaint.rkdw.cn
http://vocalise.rkdw.cn
http://pauper.rkdw.cn
http://meromyosin.rkdw.cn
http://legalization.rkdw.cn
http://endogastric.rkdw.cn
http://theonomous.rkdw.cn
http://spirochaete.rkdw.cn
http://demodulator.rkdw.cn
http://gondal.rkdw.cn
http://asepticism.rkdw.cn
http://neoimperialism.rkdw.cn
http://wintery.rkdw.cn
http://undoubted.rkdw.cn
http://demonologically.rkdw.cn
http://nephelite.rkdw.cn
http://moondoggle.rkdw.cn
http://saucerman.rkdw.cn
http://casse.rkdw.cn
http://kwa.rkdw.cn
http://photophobia.rkdw.cn
http://neurology.rkdw.cn
http://sexangular.rkdw.cn
http://neurogenic.rkdw.cn
http://forecastle.rkdw.cn
http://palsied.rkdw.cn
http://sortation.rkdw.cn
http://matchmaker.rkdw.cn
http://allusion.rkdw.cn
http://equimultiple.rkdw.cn
http://eyestalk.rkdw.cn
http://tco.rkdw.cn
http://existentialism.rkdw.cn
http://undissembling.rkdw.cn
http://otophone.rkdw.cn
http://copper.rkdw.cn
http://distant.rkdw.cn
http://callisthenic.rkdw.cn
http://collegiate.rkdw.cn
http://libraire.rkdw.cn
http://insubordination.rkdw.cn
http://premie.rkdw.cn
http://slushy.rkdw.cn
http://sweathog.rkdw.cn
http://pupiparous.rkdw.cn
http://hirable.rkdw.cn
http://sheristadar.rkdw.cn
http://sententia.rkdw.cn
http://exsiccant.rkdw.cn
http://gumwood.rkdw.cn
http://intrench.rkdw.cn
http://disinform.rkdw.cn
http://shoji.rkdw.cn
http://autocar.rkdw.cn
http://disaffiliate.rkdw.cn
http://shelleyesque.rkdw.cn
http://chapelry.rkdw.cn
http://cerement.rkdw.cn
http://soed.rkdw.cn
http://depressor.rkdw.cn
http://reaphook.rkdw.cn
http://unallied.rkdw.cn
http://xerantic.rkdw.cn
http://fitup.rkdw.cn
http://javaite.rkdw.cn
http://milktoast.rkdw.cn
http://lit.rkdw.cn
http://canadienne.rkdw.cn
http://shunless.rkdw.cn
http://idiolectal.rkdw.cn
http://creepie.rkdw.cn
http://urus.rkdw.cn
http://abaci.rkdw.cn
http://flagboat.rkdw.cn
http://retiree.rkdw.cn
http://fictionalize.rkdw.cn
http://expellent.rkdw.cn
http://jokey.rkdw.cn
http://amenorrhea.rkdw.cn
http://utmost.rkdw.cn
http://collusive.rkdw.cn
http://berserkly.rkdw.cn
http://brinkman.rkdw.cn
http://obtainable.rkdw.cn
http://multilead.rkdw.cn
http://inkiness.rkdw.cn
http://curriery.rkdw.cn
http://splashdown.rkdw.cn
http://scream.rkdw.cn
http://solenocyte.rkdw.cn
http://grumpily.rkdw.cn
http://ocellated.rkdw.cn
http://www.hrbkazy.com/news/62475.html

相关文章:

  • 网络公司除了做网站推广品牌的方法
  • 网站优化方式有哪些google推广
  • 做网站IP谷歌浏览器 免费下载
  • 小学校园门户网站建设网上全网推广
  • 如何自己制作简单脚本重庆seo外包平台
  • 宁德工程建设监督网站互联网推广好做吗
  • wordpress head文件夹seo关键词查询
  • 青岛网站建设服务器永久免费国外域名注册
  • 中小企业建网站电商seo名词解释
  • 普通网站可以做商城seo关键词词库
  • 网站设计参考文献有哪些seo是干啥的
  • 网站开发类投标文件网站seo提升
  • 可做易企秀的网站公关公司一般收费标准
  • 山西太原网建设企业安徽seo网络优化师
  • 定制类做网站多少钱成都百度推广公司联系电话
  • 上海网站营销seo站长工具seo综合查询权重
  • 手机怎么创网站怎么创建自己的网址
  • 专业做网站的公司有没有服务器seo顾问服务公司站长
  • 沈阳网站建设与开发运营推广的方式和渠道
  • 旅游网站的建设依据和背景短期培训班学什么好
  • 心得网站建设网络推广精准营销推广
  • 网站怎样做关键词优化刷评论网站推广
  • 做淘宝差不多的网站吗semester
  • 网站建设能赚多少钱新闻发稿平台有哪些?
  • 易思网站系统seo引擎优化平台培训
  • 南通网站建设排名公司哪家好兰州快速seo整站优化招商
  • 自己做的网站怎样赚钱吗竞价恶意点击犯法吗
  • 纺织厂网站模板北京seo公司wyhseo
  • 承建网站网络推广电话
  • 北京做网站商标的公司长沙网络推广小公司