題意:給你 n,m,k,表示有k種鞋子共n雙,你有m的容量;
每雙鞋子有容量p和價值v;問是否買全k種鞋子,若能在容量為m的情況下最多能買到鞋子的價值為多少;
每雙鞋子只能買一次(01背包),每種鞋子至少買一種(分組背包:每組只能有一個)與傳統分組背包的限制相反。
注意初始化!!!
#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF 1e8 #define eps 1e-8 #define LL long long #define maxn 127 #define PI acos(-1.0) struct node { int v,p; }f[11][10005]; int main() { int n,m,k; int dp[11][10005]; while(~scanf("%d%d%d",&n,&m,&k)) { int i,j; int a,b,c; int kao[15]; memset(kao,0,sizeof(kao)); memset(f,0,sizeof(f)); for(i=0;i=f[i][h].p;j--) { if(dp[i][j-f[i][h].p]!=-1)//由當前狀態轉移 dp[i][j]=max(dp[i][j],dp[i][j-f[i][h].p]+f[i][h].v); if(dp[i-1][j-f[i][h].p]!=-1)//由上一狀態轉移 dp[i][j]=max(dp[i][j],dp[i-1][j-f[i][h].p]+f[i][h].v); } } } if(dp[k][m]==-1) printf("Impossible\n"); else printf("%d\n",dp[k][m]); } return 0; } /* 5 10 3 1 4 6 2 5 7 3 4 99 1 55 77 2 44 66 */
Codeforces Round #234A,Inna an
一. 舉例說明 我們知道,在 STL 裡提供 Iter
Problem Description The twe
C++開發人臉性別識別教程(19)——界面美化 在這
C/C++排序函數,排序函數 在應用中,如果我們不需要自己
棧和隊列是操作受限的線性表,似乎每本講數據結構的