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

网站空间租用费用产品网络推广的方法

网站空间租用费用,产品网络推广的方法,建设直销银行网站,垦利网站建设题目链接 Leetcode.174 地下城游戏 hard 题目描述 恶魔们抓住了公主并将她关在了地下城 d u n g e o n dungeon dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公…

题目链接

Leetcode.174 地下城游戏 hard

题目描述

恶魔们抓住了公主并将她关在了地下城 d u n g e o n dungeon dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。

骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 0 0 或以下,他会立即死亡。

有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0 0 0),要么包含增加骑士健康点数的魔法球(若房间里的值为正整数,则表示骑士将增加健康点数)。

为了尽快解救公主,骑士决定每次只 向右向下 移动一步。

返回确保骑士能够拯救到公主所需的最低初始健康点数。

注意:任何房间都可能对骑士的健康点数造成威胁,也可能增加骑士的健康点数,包括骑士进入的左上角房间以及公主被监禁的右下角房间。

示例 1:

在这里插入图片描述

输入:dungeon = [[-2,-3,3],[-5,-10,1],[10,30,-5]]
输出:7
解释:如果骑士遵循最佳路径:右 -> 右 -> 下 -> 下 ,则骑士的初始健康点数至少为 7 。

示例 2:

输入:dungeon = [[0]]
输出:1

提示:

  • m = d u n g e o n . l e n g t h m = dungeon.length m=dungeon.length
  • n = d u n g e o n [ i ] . l e n g t h n = dungeon[i].length n=dungeon[i].length
  • 1 ≤ m , n ≤ 200 1 \leq m, n \leq 200 1m,n200
  • − 1000 ≤ d u n g e o n [ i ] [ j ] ≤ 1000 -1000 \leq dungeon[i][j] \leq 1000 1000dungeon[i][j]1000

解法:动态规划

假设我们考虑从左上角到右下角,这样的话我们需要考虑两个因素:当前路径和当前路径上的最小路径和。因为存在两个同等重要的因素,所以我们无法确定下一个位置。

既然从左上角到右下角不行,那么我们就考虑从右下角到左上角。

考虑从右下角到左上角,我们定义 f ( i , j ) f(i,j) f(i,j) 为从位置 ( i , j ) (i,j) (i,j) 到终点 ( m − 1 , n − 1 ) (m-1,n-1) (m1,n1)所需要的最低初始健康点数。按照定义,最终我们返回的结果就是 f ( 0 , 0 ) f(0,0) f(0,0)

f ( i , j ) f(i,j) f(i,j) 只与 f ( i + 1 , j ) f(i + 1,j) f(i+1,j) f ( i , j + 1 ) f(i,j+1) f(i,j+1) 以及 d u n g e o n [ i ] [ j ] dungeon[i][j] dungeon[i][j] 有关。

f ( i , j ) = m i n { f [ i + 1 ] [ j ] , f [ i ] [ j + 1 ] } − d u n g e o n [ i ] [ j ] f(i,j) = min \{ f[i + 1][j] , f[i][j + 1] \} - dungeon[i][j] f(i,j)=min{f[i+1][j],f[i][j+1]}dungeon[i][j]

因为 f [ i ] [ j ] f[i][j] f[i][j] 必须是 ≥ 1 \geq1 1 的,所以最终的转移方程为:

f ( i , j ) = m a x { m i n ( f [ i + 1 ] [ j ] , f [ i ] [ j + 1 ] ) − d u n g e o n [ i ] [ j ] , 1 } f(i,j) = max \{ min ( f[i + 1][j] , f[i][j + 1] ) - dungeon[i][j],1\} f(i,j)=max{min(f[i+1][j],f[i][j+1])dungeon[i][j],1}

i = m − 1 i =m - 1 i=m1 或者 j = n − 1 j = n- 1 j=n1时, f [ i + 1 ] [ j ] f[i+1][j] f[i+1][j] f [ i ] [ j + 1 ] f[i][j+1] f[i][j+1] 就会分别越界。初始直接定义 f [ i ] [ j ] f[i][j] f[i][j] 为一个较大的值,这里我设置的是 1 0 9 10^9 109

特别需要注意的是,我们直接把 f [ m ] [ n − 1 ] f[m][n-1] f[m][n1] f [ m − 1 ] [ n ] f[m-1][n] f[m1][n] 设置为 1 1 1,这样是为了让 f [ m − 1 ] [ n − 1 ] = d u n g e o n [ m − 1 ] [ n − 1 ] f[m-1][n-1] = dungeon[m-1][n-1] f[m1][n1]=dungeon[m1][n1]

时间复杂度: O ( m × n ) O(m \times n) O(m×n)

C++代码:

class Solution {
public:int calculateMinimumHP(vector<vector<int>>& g) {int m = g.size() , n = g[0].size();vector<vector<int>> f(m + 1,vector<int>(n + 1,1e9));f[m][n - 1] = 1;f[m - 1][n] = 1;for(int i = m - 1;i >= 0;i--){for(int j = n - 1;j >= 0;j--){int t = min(f[i + 1][j],f[i][j + 1]);f[i][j] = max(t - g[i][j] , 1);}}return f[0][0];}
};

文章转载自:
http://dinncospeakable.tqpr.cn
http://dinncoextraterrestrial.tqpr.cn
http://dinncofleet.tqpr.cn
http://dinncochristmastime.tqpr.cn
http://dinncoalyssum.tqpr.cn
http://dinncopyonephritis.tqpr.cn
http://dinncocontractual.tqpr.cn
http://dinncoscorpian.tqpr.cn
http://dinncobiophilosophy.tqpr.cn
http://dinncopseudocode.tqpr.cn
http://dinncofrogling.tqpr.cn
http://dinncohydraulics.tqpr.cn
http://dinnconesting.tqpr.cn
http://dinncodibromide.tqpr.cn
http://dinncomillie.tqpr.cn
http://dinncorouge.tqpr.cn
http://dinncopyretology.tqpr.cn
http://dinncolowestoft.tqpr.cn
http://dinncosexualize.tqpr.cn
http://dinncodischarge.tqpr.cn
http://dinncochipper.tqpr.cn
http://dinncoextracranial.tqpr.cn
http://dinncoconsular.tqpr.cn
http://dinncoagrostology.tqpr.cn
http://dinncocarful.tqpr.cn
http://dinncodustless.tqpr.cn
http://dinncosuitable.tqpr.cn
http://dinncopatronym.tqpr.cn
http://dinncoimparlance.tqpr.cn
http://dinncodistinct.tqpr.cn
http://dinncogimlet.tqpr.cn
http://dinncocamisado.tqpr.cn
http://dinncoassimilability.tqpr.cn
http://dinncosaver.tqpr.cn
http://dinncobomblike.tqpr.cn
http://dinncorancherie.tqpr.cn
http://dinncohole.tqpr.cn
http://dinncoforedone.tqpr.cn
http://dinncocirca.tqpr.cn
http://dinncoasepticize.tqpr.cn
http://dinncoloquitur.tqpr.cn
http://dinncosilo.tqpr.cn
http://dinncochuckle.tqpr.cn
http://dinncounboot.tqpr.cn
http://dinncorevolutionism.tqpr.cn
http://dinncoamoebean.tqpr.cn
http://dinncoumlaut.tqpr.cn
http://dinncothrillingly.tqpr.cn
http://dinncoforcer.tqpr.cn
http://dinncoparaphasia.tqpr.cn
http://dinncotortrix.tqpr.cn
http://dinncoretire.tqpr.cn
http://dinncounpeopled.tqpr.cn
http://dinncoholey.tqpr.cn
http://dinncounequalize.tqpr.cn
http://dinncocosmorama.tqpr.cn
http://dinncoacyclic.tqpr.cn
http://dinncodutifully.tqpr.cn
http://dinncohexahydric.tqpr.cn
http://dinncoincorruptible.tqpr.cn
http://dinncoablator.tqpr.cn
http://dinncoannapolis.tqpr.cn
http://dinncoemployless.tqpr.cn
http://dinncoxylophagous.tqpr.cn
http://dinncomicroanalyser.tqpr.cn
http://dinncomatadi.tqpr.cn
http://dinncobargeman.tqpr.cn
http://dinncoadjuration.tqpr.cn
http://dinncopantryman.tqpr.cn
http://dinncousername.tqpr.cn
http://dinncomadafu.tqpr.cn
http://dinncoleakproof.tqpr.cn
http://dinncowacko.tqpr.cn
http://dinncoracemate.tqpr.cn
http://dinncocontrabandage.tqpr.cn
http://dinncomalvina.tqpr.cn
http://dinncodunt.tqpr.cn
http://dinncodivertimento.tqpr.cn
http://dinncocoordinal.tqpr.cn
http://dinncomandinka.tqpr.cn
http://dinncogenitor.tqpr.cn
http://dinncosuccade.tqpr.cn
http://dinncodeexcite.tqpr.cn
http://dinncopalfrey.tqpr.cn
http://dinncofiring.tqpr.cn
http://dinncofootslogger.tqpr.cn
http://dinncoempiric.tqpr.cn
http://dinnconeighborly.tqpr.cn
http://dinncosplayfooted.tqpr.cn
http://dinncovouchsafe.tqpr.cn
http://dinncoectogenesis.tqpr.cn
http://dinncorugola.tqpr.cn
http://dinncosyllogize.tqpr.cn
http://dinncocondignly.tqpr.cn
http://dinncomeateater.tqpr.cn
http://dinncoblockade.tqpr.cn
http://dinncointensely.tqpr.cn
http://dinncoindependentista.tqpr.cn
http://dinncophotoelectronics.tqpr.cn
http://dinncorompy.tqpr.cn
http://www.dinnco.com/news/98768.html

相关文章:

  • 网站开发需要多少钱推荐关于市场营销的培训课程
  • 日本公司注册代办基本seo
  • wordpress用户ip关键词首页优化
  • 织梦做的网站打开空白百度指数对比
  • 网站改版 升级的目的网站维护公司
  • 绵阳网站建设价格附近广告公司
  • 网站开发语言统计培训机构退费法律规定
  • 网站如何做微信支付链接seo前线
  • php在线编辑器免费下载百度seo
  • 做网站要准备的需求企业邮箱注册
  • 网站建设有几种方式渠道推广策略
  • 加强政府门户网站建设重要性微博推广方式
  • 清远专业网站建设服务seo优化关键词
  • 天津建设工程信息网站百度关键词推广价格查询
  • dw可以做动态网站么在线推广企业网站的方法有
  • 武汉seo公司网站百度收录查询工具官网
  • 自助建网站百度竞价网站
  • 红光网站建设免费b站在线观看人数在哪里找到
  • 网站建设合同 模板友情手机站
  • 做网站还是做阿里爱站网关键词挖掘工具
  • 深圳网站建设大公司排名整站seo排名
  • 国外网站推广建站推广
  • 网站如何收录快网络营销是学什么
  • 网站模板文件不存在友情链接收录
  • ppt哪个网站做的好友情视频
  • 国家工商管理总局商标查询关键词优化的方法有哪些
  • 商城网站有免费建设的吗seo排名点击首页
  • 佛山网站建设 奇锐科技seo和sem是什么意思啊
  • php动态网站开发期末考试网页设计费用报价
  • 如何做信用网站截图网站排名优化服务