UVA 12563 Jin Ge Jin Qu hao
生活随笔
收集整理的這篇文章主要介紹了
UVA 12563 Jin Ge Jin Qu hao
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
dp-背包
?
開始用普通dp寫了一發發現沒法確定最大時間。。。
后來看到大牛機智的寫法,嗯。。。dp表示當前狀態能否成立;然后從條件最好的狀態開始遍歷,直到這個狀態成立然后退出遍歷。
具體的看代碼吧。。。
?
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <algorithm> 5 using namespace std; 6 7 int dp[100][10000]; 8 int d[100]; 9 10 int main (){ 11 int T,kase=0; 12 cin>>T; 13 while (T--){ 14 int n,t; 15 cin>>n>>t; 16 for (int i=0;i<n;i++){ 17 cin>>d[i]; 18 } 19 sort (d,d+n); 20 memset (dp,0,sizeof dp); 21 dp[0][0]=1; 22 for (int k=0;k<n;k++){ 23 for (int j=t;j>=d[k];j--){ 24 for (int i=k+1;i>0;i--){ 25 if (dp[i-1][j-d[k]]) 26 dp[i][j]=1; 27 } 28 } 29 } 30 int ans=0; 31 int time; 32 int flag=0; 33 for (int i=n;i>=0;i--){ 34 for (int j=t-1;j>=0;j--){//cout<<j<<" "; 35 if (dp[i][j]){ 36 ans=i; 37 time=j; 38 flag=1; 39 break ; 40 } 41 } 42 if (flag) 43 break ; 44 } 45 cout<<"Case "<<++kase<<": "<<ans+1<<" "<<time+678<<endl; 46 } 47 return 0; 48 }?
轉載于:https://www.cnblogs.com/gfc-g/p/3878324.html
總結
以上是生活随笔為你收集整理的UVA 12563 Jin Ge Jin Qu hao的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rake的使用
- 下一篇: 零样本学习的相关概念——综述