Re: [闲聊] 每日LeetCode

楼主: oin1104 (是oin的说)   2024-02-11 22:31:36
※ 引述 《JIWP (神楽めあ的钱包)》 之铭言:
:  
: 1463 Cherry Pickup II
:  
: 给一个2维矩阵grid,grid[i][j]代表这个格子的樱桃数量
:  
: 有两个机器人会收集格子上的樱桃
:  
: 当两个机器人走到同一格的时候,只有一个机器人可以拿grid[i][j]个樱桃,另一个拿0

:  
: 机器人一个是从左上角grid[0][0],另一个是从右上角grid[0][cols-1]
:  
: 每次可以往左下、正下、右下走
:  
: 请问机器人最多可以收集几个樱桃
这题一开始蛮难想的
偷偷看了一下提示之后
哇干 对欸 可以三维
姆咪
思路:
有图应该就很好懂ㄌ
https://i.imgur.com/nstwFsh.jpg
就跟下坠一样 要把每一层的动作分开来讨论
然后
要先知道某一层地方每一种走法的sum
所以会用paper来记录他们
接下来就可以dp了
每一层都用sum来记录走过的总和
然后两个机器人都可以左右一格
所以sum在更新的时候要看自己的九宫格最大的
然后最后再看最后一层最大的就可以了
我beat 99.??% 妈的好爽
class Solution {
public:
int cherryPickup(vector<vector<int>>& grid)
{
int layer = grid.size();
int n = grid[0].size();
int paper[layer][n][n];
int sum[layer][n][n];
for(int l = 0 ; l < layer ; l ++)
{
for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j < n ; j ++)
{
if(i != j)
{
paper[l][i][j] = grid[l][i] + grid[l][j];
}
else if(i == j)
{
paper[l][i][j] = grid[l][i];
}
sum[l][i][j] = -1;
}
}
}
sum[0][n-1][0] = paper[0][n-1][0];
for(int l = 1 ; l < layer ; l ++)
{
for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j < n ; j ++)
{
int lastmax = -1;
if((i-1>=0)&&(j-1>=0))
{
lastmax = max(lastmax , sum[l-1][i-1][j-1]);
}
if((i-1>=0))
{
lastmax = max(lastmax , sum[l-1][i-1][j]);
}
if((i-1>=0)&&(j+1<n))
{
lastmax = max(lastmax , sum[l-1][i-1][j+1]);
}
if((j-1>=0))
{
lastmax = max(lastmax , sum[l-1][i][j-1]);
}
lastmax = max(lastmax , sum[l-1][i][j]);
if(j+1<n)
{
lastmax = max(lastmax , sum[l-1][i][j+1]);
}
if((i+1<n)&&(j-1>=0))
{
lastmax = max(lastmax , sum[l-1][i+1][j-1]);
}
if((i+1<n))
{
lastmax = max(lastmax , sum[l-1][i+1][j]);
}
if((i+1<n)&&(j+1<n))
{
lastmax = max(lastmax , sum[l-1][i+1][j+1]);
}
if(lastmax!=-1)
{
sum[l][i][j] = lastmax + paper[l][i][j];
}
}
}
}
int ans = 0;
for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j < n ; j ++)
{
ans = max(sum[layer-1][i][j] , ans);
}
}
return ans;
}
};
作者: wu10200512 (廷廷)   2024-02-11 22:34:00
停止内卷
作者: Che31128 (justjoke)   2024-02-11 22:35:00
大师 差点炸掉:)
楼主: oin1104 (是oin的说)   2024-02-11 22:36:00
什么东西炸掉 你的蛋蛋吗 我帮你含住
作者: XROCK (□□□□□□□□□□□)   2024-02-11 22:36:00
臭甲 干
楼主: oin1104 (是oin的说)   2024-02-11 22:37:00
我开个玩笑 大过年的 不要这么严肃
作者: sustainer123 (caster)   2024-02-11 22:38:00
大师
作者: SecondRun (雨夜琴声)   2024-02-11 22:40:00
卷狗
楼主: oin1104 (是oin的说)   2024-02-11 22:41:00
哥们 我已经读学店了 再不卷我真的要吃土了
作者: XROCK (□□□□□□□□□□□)   2024-02-11 22:42:00
东华什么时候也学店了
楼主: oin1104 (是oin的说)   2024-02-11 22:43:00
庭庭清华 鲁肥台大 泥板随便抓一个都四大四中 只剩我国立底边了
作者: JIWP (JIWP)   2024-02-11 22:45:00
学霸剩我没在写每日了
作者: sustainer123 (caster)   2024-02-11 22:47:00
学霸我最近又开始刷75
作者: JIWP (JIWP)   2024-02-11 22:47:00
别卷了
作者: temsroluan (temsroluan)   2024-02-11 22:57:00
雪霸
作者: RinNoKareshi (立石凛的男友)   2024-02-11 23:05:00
学霸
作者: sc95819200 (sc95819200)   2024-02-11 23:18:00
你板剩我是废物了

Links booklink

Contact Us: admin [ a t ] ucptt.com