1. 程式人生 > >How many ways(記憶化搜尋)

How many ways(記憶化搜尋)

這是一個簡單的生存遊戲,你控制一個機器人從一個棋盤的起始點(1,1)走到棋盤的終點(n,m)。遊戲的規則描述如下:
1.機器人一開始在棋盤的起始點並有起始點所標有的能量。
2.機器人只能向右或者向下走,並且每走一步消耗一單位能量。
3.機器人不能在原地停留。
4.當機器人選擇了一條可行路徑後,當他走到這條路徑的終點時,他將只有終點所標記的能量。

如上圖,機器人一開始在(1,1)點,並擁有4單位能量,藍色方塊表示他所能到達的點,如果他在這次路徑選擇中選擇的終點是(2,4)

點,當他到達(2,4)點時將擁有1單位的能量,並開始下一次路徑選擇,直到到達(6,6)點。
我們的問題是機器人有多少種方式從起點走到終點。這可能是一個很大的數,輸出的結果對10000取模。

相關推薦

HDU 1978 How many ways記憶搜尋

   How many ways   Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other

How many ways 記憶搜尋

這是一個簡單的生存遊戲,你控制一個機器人從一個棋盤的起始點(1,1)走到棋盤的終點(n,m)。遊戲的規則描述如下:  1.機器人一開始在棋盤的起始點並有起始點所標有的能量。  2.機器人只能向右或者向下走,並且每走一步消耗一單位能量。  3.機器人不能在原地停留。  4.當機

How many ways記憶搜尋

這是一個簡單的生存遊戲,你控制一個機器人從一個棋盤的起始點(1,1)走到棋盤的終點(n,m)。遊戲的規則描述如下: 1.機器人一開始在棋盤的起始點並有起始點所標有的能量。 2.機器人只能向右或者向下走,並且每走一步消耗一單位能量。 3.機器人不能在原地停留。 4.當機器人選擇了一條可行路徑後,當他走到

hdu1978 How many ways記憶搜尋

題意:中文題。 思路:注意這題題中說“當機器人選擇了一條可行路徑後,當他走到這條路徑的終點時,他將只有終點所標記的能量”。剛開始這條件我就看了半天,這句話中明確指出大的能量轉移(不包括每走一步的能量減一)只有一個條件可以觸發,那就是到達終點,其他沒說明的就表明無法觸發

[HDU2157]How many ways??DP + 矩陣優化

per printf 需要 給定 get sizeof ref 傳送門 href 傳送門 k < 20 k這麽小,隨便dp一下就好了。。。 dp[i][j][k]表示從i到j經過k個點的方案數 4重循環。。 但是如果k很大就不好弄了 把給定的圖

Codeforces Round #197 (Div. 2): C. Xenia and Weights記憶搜尋

  題意: 先輸入一個長度為10的01串,第i個數字為1表示你有重量為i的砝碼無數個,第i個數字為0表示你沒有重量為i的砝碼,你需要按照以下規則在一個一開始平衡的天平上放上m個砝碼 第1個砝碼放在天平左邊,第2個砝碼放在天平的右邊,第3個砝碼放在天平左邊……依次

【ZOJ1107】FatMouse and Cheese記憶搜尋

題目連結 FatMouse and Cheese Time Limit: 10 Seconds      Memory Limit: 32768 KB FatMouse has stored some c

洛谷3257 [JLOI2014]天天酷跑DP記憶搜尋

題目 每次往上跳或往下掉或持平……(具體看題目吧),使路徑上的權值和最大。 題解 記憶化搜尋 設f[i][j][t]表示從出發點到(x,y)這個位置(不含這個位置,即減掉ma[x][y])還可以跳t次的最大權值和。 轉移方程 ,其中w表示這一路上的點權和。 下面說說前輩繞的彎路,

HDU 1078 FatMouse and Cheese 記憶搜尋

FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 &l

抵制克蘇恩記憶搜尋

題目描述 小Q同學現在沉迷爐石傳說不能自拔。他發現一張名為克蘇恩的牌很不公平。如果你不玩爐石傳說,不必擔心,小Q同學會告訴你所有相關的細節。爐石傳說是這樣的一個遊戲,每個玩家擁有一個 30 點血量的英雄,並且可以用牌召喚至多 7 個隨從幫助玩家攻擊對手,其中每個隨從也擁有自己的血量和攻擊力。小Q同學有很

3822 期望DP記憶搜尋

這道題的難點就在於狀態的設計,如果你只想了一會就來看這篇題解,我建議你多方面想想狀態的設計之後,若還是沒有思路再來看題解。 主要思路: 第一眼看過去是不是很多人都想如何存棋盤的狀態,但是我們並不需要每一行,每一列是怎麼放得,只需要知道有幾行放了,有幾列放了就可以了。同

UAV -10285 Longest Run on a Snowboard 記憶搜尋

題目連結 題目大意:     從矩陣中任意一個點出發,只要它上下左右的任意一個比它的數小,它就能向那個小的數字走一步,問在這個圖中走的最大的步數 題目分析:     如果用暴力搜尋的話可能會很麻煩,很費事,所以很典型的記憶化搜尋 Code:

3652 B-number 數位DP記憶搜尋

B-number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9200    Accepted Submis

1036C Classy Numbers 數位DP記憶搜尋

題意:在n到m區間內,有多少個數滿足每位數字非零的不超過3個(前導零無關)。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib>

小樂樂下象棋記憶搜尋

連結:https://ac.nowcoder.com/acm/contest/301/F 來源:牛客網   小樂樂一天天就知道玩,這一天又想玩象棋。 我們都知道馬走日。 現在給定一個棋盤,大小是n*m,把棋盤放在第一象限,棋盤的左下角是(0,0),右上角是(n - 1, m - 1);

poj 1088 滑雪 動態規劃記憶搜尋

ichael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待升降機來載你。Michael想知道載一個區域中最長底滑坡。區域由一個二維陣列給出。陣列的每個數字代表點的高度。下面是一個例子 1 2

POJ 1088 滑雪 記憶搜尋

                                                                滑雪 Time Limit:1000MS    Memory Lim

POJ 1088 滑雪記憶搜尋

Michael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待升降機來載你。Michael想知道載一個區域中最長底滑坡。區域由一個二維陣列給出。陣列的每個數字代表點的高度。下面是一個

HDU2517——How many ways??矩陣快速冪

How many ways?? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1565    Accept

Free Candies記憶搜尋

給出4堆糖,往容量為5籃子裡裝任意一個在堆頂的糖,籃子裡有相同顏色的就拿走,問最多能拿走幾次。 定義四維陣列記憶搜尋。 #include<cstdio> #include<cstri