從頭填坑。除了數字三角形之外做的第二道dp。
題目描述一句話題意:乙個數列,求出最長的不上公升子串行長度。某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲,由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。
輸入飛彈的枚數和飛彈依次飛來的高度(雷達給出的高度資料是不大於30000的正整數,每個資料之間有乙個空格),計算這套系統最多能攔截多少飛彈?
輸入格式
第一行數字n表示n個飛彈(n<=200) 第二行n個數字,表示n個飛彈的高度
輸出格式
乙個整數,表示最多能攔截的飛彈數
樣例資料
input
8 389 207 155 300 299 170 158 65
output
根據無後效性的原則,我們選擇劃分階段為攔截飛彈的終點。
f[i]表示必須選擇第i個數的情況下,前i個數最長不上公升子串行的長度。
void dp()
printf("%d\n",ans);
}
攔截飛彈(最長上公升子串行,最長不上公升子串行)
攔截飛彈 noip 1999 題目描述 張琪曼 老師,修羅場是什麼?墨老師 修羅是佛家用語,修羅畢生以戰鬥為目標,修羅場指的是他們之間的死鬥坑,人們通常用 修羅場 來形容慘烈的戰場。後來又引申出 乙個人在困境中做絕死奮鬥 的意思。所以,這其實也在暗示我們,即使是身處絕境,也不要放棄奮鬥。再說了,情況...
攔截飛彈 線性DP求最長不上公升子串行 貪心
題目 解題思路 第一問 沒什麼好說的,基礎的線性dp求解經典的最少不上公升 下降 子串行 第二問 貪心思想。需要n個飛彈就想當於把一串數字劃分為n個部分,且每個部分都是一段遞減的子串行 例如 6 5 1 7 3 2 需要最少的炮彈 6 5 1 7 3 2 顯然劃分了兩個部分。如果想讓需要的炮彈數最少...
飛彈攔截(最長非上公升子串行和最長上公升子串行)
題目鏈結 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。輸入飛彈依次飛來的高度...