1292 聖誕老人

2021-06-28 15:16:30 字數 640 閱讀 6865

這道題是一道動態規劃題

for (int j = 0; j

上面是該題的式子。。。

例如:

測試資料:

315 199 155 301 215 170 150 25

當發射第二顆飛彈時i=2,我們另j=0。

首先a[j]>=a[i],即a[0]>=a[2],成立。

於是我們看一下ans[j]+1>ans[i];

ans[0]+1>ans[2];

即 1 + 1 > 1

所以當前ans[2]=2

當j=1時,重複上述過程,此時ans[2]變成了3,

也就是,當發射三枚飛彈時,都能夠攔截下來。

ans[i]這個陣列存放的就是發射第i枚飛彈時能攔截的數目

以下為**:

# include 

using

namespace

std;

int main()

}if (ans[i]>max)

max = ans[i];

}cout

<< max << endl;

return

0;}

聖誕老人的禮物

問題描述 聖誕節來臨了,在城市a中聖誕老人準備分發糖果,現在有多箱不同的糖果,每箱糖果有自己的價值和重量,每箱糖果都可以拆分成任意散裝組合帶走。聖誕老人的馴鹿最多只能承受一定重量的糖果,請問聖誕老人最多能帶走多大價值的糖果。輸入 第一行由兩個部分組成,分別為糖果箱數正整數n 1 n 100 馴鹿能承...

貪心 聖誕老人的禮物

聖誕節來臨了,聖誕老人準備分發糖果,現在有多箱不同的糖果,每箱糖果有自己的價值和重量,每箱糖果都可以拆分成任意散裝組合帶走。聖誕老人的馴鹿雪橇最多只能裝下重量w的糖果。請問聖誕老人最多能帶走多大價值的糖果。第一行由兩個部分組成,分別為糖果箱數正整 n 1 n 100 馴鹿能承受的最大重量正整數 w ...

UOJ UR 4追擊聖誕老人

傳送門考慮直接維護乙個堆,然後往裡面丟鏈,並且取出k個堆頂就行了。然後就需要分類討論啥的,給你的三個點變成兩條鏈,每次取出一條鏈之後選擇權值最小的再劈成兩條鏈丟進去。卡空間 所以樹剖,不選擇倍增 複雜度o n k logn include include include define mn 5000...