/**
* 完全揹包:
* 這題很裸的完全揹包。不過居然還各種re和wa。。。
* 首先是re: 因為每次都會有利息,加上原來的本金之後的資金肯定是會大於原來的最大值。
* 陣列開大個5倍就夠了。 因為題意是利息不超過10%,年數不超過40.這個隨便算下,或者開個足夠大就行。
* 其次wa的原因:因為我在實現的時候,用了個變數extra去存不足1000的部分。而忘記了一開始的本金就可能不是1000的倍數
* 所以一開始就要extra = m % 1000;
* 還有再說下,這題貌似必須 除以1000 來去處理,不然可能會mle的。
*/#include #include #include #include #include #include #include #include #include #define debug 0
#define inf 0x7fffffff
#define maxs 100
typedef long long ll;
using namespace std;
int value[maxs], interest[maxs], dp[100000];
int dpf(int n, int m)
}return dp[m];
}int main()
for(int i = 1; i <= years; i ++)
cout << m * 1000 + extra << endl;
}return 0;
}
POJ 2063 Investment(完全揹包)
poj 2063 investment 題意 有m元本金,想要在銀行存year年,有n種可供選擇的存款方式,每種存款方式都有相應的本金val i 和年獲利interst i 每年的獲利又可以作為下一年的本金繼續儲存。資料範圍 m 1e6,year 40,n 10,val i 是1000的倍數,年獲利...
POJ2063 完全揹包
題意 給乙個初始的錢,年數,然後給出每個物品的購買 與 每年獲得的利益,求在給出的年份後手上有多少錢。思路 揹包重量還是資金。dp 0 初始資金 重物的重量是他的 獲利是價值。這裡有n個物品,還有m年的問題,主要的問題是前i年的最大收益,然後在金額的基礎上對物品處理 記錄每次dp j 的值作為下一年...
POJ 2063 Investment 完全揹包
1.完全揹包問題 有n種物品,每種無限個,第i個物品的體積與價值分為v i 與w i 問體積為v的揹包能裝的最大總價值為多少。for int i 1 i n i for int j v i j v j d j max d j d j v i w i 發現完全揹包的迴圈和使用滾動陣列的0 1揹包只在i...