感覺學過揹包的話應該就很容易做了,優先順序人數最多,時間最少,那麼泡到n個妹妹就有相應的最少時間,所以要開乙個陣列儲存該人數下時間最小。。。
僅此。。。
view code
1 #include2 #include3 #include4using
namespace
std;
5const
int inf=1000000;6
const
int n = 1002;7
intrmb[n],rp[n],tim[n];
8int dp[n][120][120
],num[n];
9int min(int a,int
b)10
13int
main()
1429}30
}31 dp[0][0][0]=0;32
for(int i=0; i<=n; i++)num[i]=inf;
33for(int i=1; i<=n; i++)
3447}48
}49}50
}51inti;
52for(i=n; i>=0; i--)if(num[i]break
;53 printf("
%d\n
",num[i]);54}
55return0;
56 }
動態規劃及其動態規劃經典例題
動態規劃是最重要 最經典的演算法之一,學好動態規劃對我們十分重要,掌握動態規劃對解決某些問題會起到事半功倍的效果。特點 可以把原始問題劃分為一系列子問題 求解每個子問題僅一次,並將其結果儲存到乙個表中,以後用到時直接訪問,不重複計算,節省時間。自底向上地計算 適用範圍 原問題可以分為多個相關子問題,...
動態規劃經典問題
from 實現在 維基百科對動態規劃的定義 動態規劃 英語 dynamic programming,簡稱dp 是一種在數學 電腦科學和經濟學中使用的,通過把原問題分解為相對簡單的子問題的方式求解複雜問題的方法。動態規劃常常適用於有重疊子問題 1 和最優子結構性質的問題,動態規劃方法所耗時間往往遠少於...
動態規劃經典問題
子串 在給定的字串中選取連續的一段 子串行 可以不連續,但是要保證出現的順序與原字串相同 比如字串abcdefg abc既是子串又是子串行 acd只是子串行 一 最大連續子串行和 給定乙個整數序列a1,a2 an。求最大的連續的子串行的和。比如的最大連續子串行的和為5 3 1 1 2 萬能列舉?每次...