《動態規劃》 選數統計

2022-04-14 18:27:00 字數 664 閱讀 5162

時間限制: 1 sec  記憶體限制: 64 mb

現在從1 ~ m裡可以讓你從小到**出n個數,設這些數為a1到an,要求每個數至少為它前一項的2倍,比如說當m = 10,n = 4時,下面是幾種可能的選法:

1 2 4 8

1 2 4 9

1 2 4 10

1 2 5 10

求一共可以選出多少不同的數列?

僅有一行,表示n (n ≤8)和m (m≤ 500)

乙個數表示方案數。

4 10

4

分析:顯然是構造dp,dp[i][j]表示長度為i,以j結尾的合法方案數。則dp[i][j]=sum(dp[i-1][k]) k>0&&k2*k.

include #include using namespace std;

int main()

; int n,m;

cin>>n>>m;

//dp[i][j]==dp[i-1][k] if(j==0&&j/k=2)

int i,j,k;

for(i=1;i<=m;i++)

for(i=2;i<=n;i++)}}

}int ans=0;

for(i=1;i<=m;i++)

cout<

codevs動態規劃 選菜

在小松宿舍樓下的不遠處,有pk大學最不錯的乙個食堂 the farmer s canteen nm食堂 由於該食堂的菜都很不錯,也公道,所以很多人都喜歡來這邊吃飯。the farmer s canteen的點菜方式如同在超市自選商品一樣,人們從乙個指定的路口進去,再從乙個指定的路口出來並付款。由於來...

動態規劃 0 1揹包選不選

1.給你n件物品,給你乙個包重量為m 問你正好裝 積為m?有多少種選擇 我這件物品要麼就是裝進來,要麼就是不裝進來,2 n種選擇 找到遞迴退出條件 揹包容量為0,則有唯一一種裝法 0件物品則只有0件裝法 poj 2755.cpp 定義控制台應用程式的入口點。include stdafx.h incl...

動態規劃 數塔

如圖所示為乙個數塔,從頂部出發在每乙個節點可以選擇向左走或向右走,一直走到最底層,要求找出一條路徑,使路徑上的數值和最大。include define n 50 int data n n d n n 定義陣列data,d int n void operate for i n 1 i 1 i else...