01背包問題範本代碼

來源:互聯網
上載者:User

標籤:com   背包問題   max   圖片   for   out   i++   namespace   space   

01背包問題

Pleiades_Antares

打個模板,基本上01背包都這個樣子了~

從百度上摘來兩張圖,簡單可以說明01背包了應該

這是我找的第一張

這是我找的第二張

01背包是DP的內容,DP剛開始學一般都是記憶化搜尋嘛,那就是最佳化過的搜尋問題不知道這麼說各位能不能理解“記憶化搜尋”這個名字qwq如果需要的更詳細的解釋的話麻煩評論下/站內信,我把具體的內容再發出來(quq我都有課件闊是我懶得再搬運PPT了qwq需要的話再發出來咯)

代碼放出來:

//01背包 #include<iostream>using namespace std;//stellar myself!const int maxn=1000;int m[maxn][maxn];int w[maxn],v[maxn];int C,N;void add(int i,int j){    if (j<w[i])        m[i][j]=m[i-1][j];    else        m[i][j]=max(m[i-1][j],m[i-1][j-w[i]]+v[i]);}int main(){    cin>>N>>C;    for(int i=1;i<=N;i++){        cin>>w[i]>>v[i];    }    for(int i=1;i<=N;i++){        for(int j=1;j<=C;j++){            add(i,j);        }    }    int big=m[1][1];    for(int i=1;i<=N;i++){        for(int j=1;j<=C;j++){            if (m[i][j]>big) big=m[i][j];        }    }    cout<<big<<endl;    return 0;} 
如有疏漏還請指出

01背包問題範本代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.