對於一張地圖上的點都有乙個h[
i][j
]' role="presentation">h[i
][j]
h[i]
[j]來表示這個地方的高度。現在一些人都想要跑到北邊的乙個山坡上。求出離每乙個人最近的靠北的山。
山: 山的周圍沒有比它更高的地方。(四聯通)
在北邊:
令乙個人的座標為a(a,b),山的座標為b(x,y) ,山在人的北邊當且僅當di
s[a]
[b]=
a−x' role="presentation">dis
[a][
b]=a
−xdi
s[a]
[b]=
a−x
inpu
t' role="presentation">inp
utin
put
5 5 5
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
1 22 3
3 44 5
5 1
ou
tput
' role="presentation">out
puto
utpu
t
pool
babingbaboom
!pool
babingbaboom!1
20
很明顯是一道dp
' role="presentation">dpd
p題目。
畫一下圖就可以發現,其實在北邊的位置就是乙個三角形。 設f
[i][
j]' role="presentation">f[i
][j]
f[i]
[j]為
i' role="presentation">ii行
j' role="presentation">j
j列距離北邊最近山峰的距離。
那麼如果這個位置本身就是乙個山峰,那麼f[
i][j
]=0' role="presentation">f[i
][j]
=0f[
i][j
]=0
如果這個位置不是山峰,那麼由於是乙個三角形,就有f[
i][j
]=mi
n(f[
i−1]
[j+1
],mi
n(f[
i−1]
[j−1
],f[
i−1]
[j])
)+1' role="presentation">f[i
][j]
=min
(f[i
−1][
j+1]
,min
(f[i
−1][
j−1]
,f[i
−1][
j]))
+1f[
i][j
]=mi
n(f[
i−1]
[j+1
],mi
n(f[
i−1]
[j−1
],f[
i−1]
[j])
)+1採用離線演算法,o(
1)' role="presentation">o(1
)o(1
)輸出
#include
#include
#include
#define inf 99999999
using
namespace
std;
int n,m,k,x,y,a[2001][2001],f[2001][2001];
int main()
return
0;}
八百標兵奔北坡 DP
現在在一張n m的地圖上有k只babingbaboom!對於一張地圖上的點都有乙個h i j 來表示這個地方的高度。現在這些babingbaboom都想要跑到北邊的乙個山坡上。求出離每乙個babingbaboom最近的靠北的山。山 山的周圍沒有比它更高的地方。四聯通 在北邊 令乙個人的座標為a a,...
劍橋建校八百周年的紀念
劍橋大學成立於公元1209年,最早是由一批為躲避毆鬥而從牛津大學 university of oxford 逃離出來的老師建立的。12世紀,方濟會修士 本篤會修士和聖衣會修士,來到這片平坦 潮濕的沼澤區定居,劍橋郡由此誕生。劍橋大學 university of cambridge 勳銜 cantab...
八百客力推雲應用打造中國Salesforce?
本文講的是八百客力推雲應用打造中國salesforce?提起雲計算大量的人焦點似乎集中在 伺服器虛擬化等基礎設施建設層面,雲計算遠不止於此,iaas 基礎設施即服務 的重要性固然不容忽視,但沒有強大的saas 軟體即服務 層服務很難發揮基礎設施更大的價值。經歷了多年的沉澱,雲計算saas層面最為人關...