動態規劃 聰明的kk

2021-06-21 12:56:14 字數 1150 閱讀 8446

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3 描述

聰明的「kk」

可移動「沙丘」變戲法 的靈感源於其獨特而雄偉的自然景觀——富於傳奇色彩的險峻沙丘。巨集偉的結構、可迴圈的建材,與大自然相得益彰。環繞一周,發現它正是從沙丘那不斷變換的形態中汲取靈感的。外形逼真到無論從哪個角度去觀察,都能清楚地辨識出沙丘的特徵。

它「坡面」高達20公尺,微風吹來,你是否感覺到沙的流動?用手去觸碰,卻發現原來是「魔術戲法」。它表面的不鏽鋼面板呈現出一種富於變幻的色彩,從不同角度觀察,呈現不同色澤,由此來模仿流動沙丘的光感。

走進第三展廳有乙個超大的螢幕,通過奇妙的特效,讓觀眾猶如親身來到浩瀚的沙漠。更為奇妙的是,只見乙個小動物「kk」正從沙漠區域(矩形)的左上角沿著向右或向下的方向往右下角跑去。kk太聰明了,它居然能在跑的過程中會選擇吃掉盡可能多的蟲子線路。

你知道它吃掉多少蟲子嗎?

輸入第一行:n m (1≤n m≤20 0≤xij≤500(i=1,2„.n, j=1,2„,m)

)表示沙漠是乙個n*m的矩形區域

接下來有n行:每行有m個正整數,xi1 xi2 ……xim 表示各位置中的蟲子數(單個空格隔開)

假設「kk」只能向右走或向下走。

輸出輸出有乙個整數, 表示「kk」吃掉最多的蟲子數。

樣例輸入

3 4

3 1 2 8

5 3 4 6

1 0 2 3

樣例輸出

24

個人感覺是挺水的一道題吧,就是乙個常規的dp問題

首先,設定乙個dp陣列:dp[25][25]。dp[i][j]表示到i行j列吃到的蟲子的最大的值

然後,可以定義出來公式:dp[i][j]=dp[i][j]+max(dp[i-1][j],dp[i][j-1]),這個值就是指在這個點原有的蟲子數目加上到達此時吃過的蟲子的數目。

最後,輸出dp[m][n]就是從開始到結束遲到的蟲子的最大數目。

#include#includeusing namespace std;

int dp[25][25];

int max(int a,int b)

int main()

}for(i=1;i<=m;i++)

}cout<

聰明的kk 動態規劃

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 聰明的 kk 可移動 沙丘 變戲法 的靈感源於其獨特而雄偉的自然景觀 富於傳奇色彩的險峻沙丘。巨集偉的結構 可迴圈的建材,與大自然相得益彰。環繞一周,發現它正是從沙丘那不斷變換的形態中汲取靈感的。外形逼真到無論從哪個角度去觀察,...

DP入門 聰明的kk

題目來自nyist第171題,如下 描述 聰明的 kk 可移動 沙丘 變戲法 的靈感源於其獨特而雄偉的自然景觀 富於傳奇色彩的險峻沙丘。巨集偉的結構 可迴圈的建材,與大自然相得益彰。環繞一周,發現它正是從沙丘那不斷變換的形態中汲取靈感的。外形逼真到無論從哪個角度去觀察,都能清楚地辨識出沙丘的特徵。它...

聰明的kk nyoj 171 動態規劃

本題是乙個很基礎的動態規劃,與動態規劃裡的最短路徑類似。本題可以採用標記陣列,也可以不採用標記陣列。本 未採用標記陣列 本題的動規思想主要是每一步的最優解都取決於上一步的最優解,以達到整體最優的目的。如下 include define max a,b a b?a b define max n 25 ...