動態規劃 JZOJ 1758 過河

2021-09-22 22:50:07 字數 1117 閱讀 6741

給出n

nn根柱子,每根柱在0

00時刻沉下去,然後有a

aa個時間單元浮上來,b

bb個時間單元沉下去,再有a

aa個時間單元浮上來,b

bb個時間單元沉下去,等等。

在t +1

t+1t+

1時刻,市民可以選擇距離t時刻所在位置5

55根柱子之內的可靠的柱子上﹑岸上,或者站在當前的柱子上(如果可靠)或岸上。

求出最短的過河時間,如果不能過輸出nono

no。設f[i

][j]

f[i][j]

f[i][j

]為第i

ii個單位時間時,j

jj這個點是否能到達,可得:

f [i

][j]

=f[i

−1][

j−5]

∣f[i

−1][

j−4]

……f[

i][j

+5

]f[i][j]=f[i-1][j-5]|f[i-1][j-4]……f[i][j+5]

f[i][j

]=f[

i−1]

[j−5

]∣f[

i−1]

[j−4

]……f

[i][

j+5]

由於不知道需要多少時間,所以我們可以根據資料算出來範圍大約是800

80080

0。

#include

#include

#include

int x, n;

int a[

1001

], b[

1001

], f[2]

[1006];

intmain()

}for

(int i =

0; i <=

5; i++

) flag |

= f[ans &1]

[n - i +1]

;if(flag)}if

(!flag)

printf

("no\n");

}}

jzoj1758 過河 簡單dp

description 在byteland的許多市民極喜愛那些邏輯思考與物理技巧同樣重要的運動。有一種運動是過hex河 byteland中最寬的河流。有n根柱子,從1到n進行編號 從左至右 跨過這條河流。市民過河不得不如此 從河的左岸走至一根柱上,可能再走到下一根柱上,如此下去,最後到達河右岸。左岸...

過河卒(動態規劃)

題目描述 棋盤上aa點有乙個過河卒,需要走到目標bb點。卒行走的規則 可以向下 或者向右。同時在棋盤上cc點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,aa點 0,0 0,0 bb點 n,m n,m nn,mm為不超過2020的整數 ...

過河問題(動態規劃)

在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 而如果兩人同時過橋,所需要的時間就是走得比較慢的那個人單獨行動時所需的時間。問題...