解题报告:hdu1248寒冰王座 - 完全背包

2017-09-03 16:16:38

writer:pprp

完全背包问题:从左向右进行扫描,用一维阵列进行分析

代码如下:

/*
@theme:hdu1248 寒冰王座
@writer:pprp
@begin:16:00
@end:16:14
@declare:完全背包问题
@error:方向问题,这次是从左向右进行扫描
@date:2017/9/3
*/

#include <bits/stdc++.h>

using namespace std;
const int maxn = 10100;
int dp[maxn];
int w[4] = {0,150,200,350};
int N;

int main()
{
    //freopen("in.txt","r",stdin);
    int cas;
    cin >> cas;
    while(cas--)
    {
        memset(dp,0,sizeof(dp));
        cin >> N;
        for(int i = 1; i <= 3 ; i++)
        {
            for(int j = 1 ; j <= N; j++)//error
            {
                if(j >= w[i])//error
                dp[j] = max(dp[j],dp[j-w[i]] + w[i]);
            }
        }
        cout << N - dp[N] << endl;
    }
    return 0;
}
时间: 2024-08-08 09:29:30

解题报告:hdu1248寒冰王座 - 完全背包的相关文章

HDU1248 寒冰王座 【数学题】or【完全背包】

寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10550    Accepted Submission(s): 5355 Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑士

HDU1248 寒冰王座 【数学题】or【全然背包】

寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10550    Accepted Submission(s): 5355 Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,仅仅有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑

HDU 1248寒冰王座-全然背包或记忆化搜索

寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13001    Accepted Submission(s): 6620 Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,仅仅有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑

HDU 1248寒冰王座-完全背包或记忆化搜索

寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13001    Accepted Submission(s): 6620 Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑士

HDU - 1248 寒冰王座(完全背包做法和暴力优化做法)

题意:完全背包裸题 每件物品的cost就是它的value. 1.完全背包法 1 #include <iostream> 2 using namespace std; 3 4 const int maxn=11111; 5 int dp[maxn]; 6 7 int main(){ 8 int t; 9 cin>>t; 10 int value[4]={0,150,200,350}; 11 while(t--){ 12 int n; 13 cin>>n; 14 for(i

HDU 1248 寒冰王座(全然背包:入门题)

http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,仅仅有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑士:"我要买道具!" 地精商人:"我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个." 死亡骑士:"好的,给我一个血瓶." 说完他掏出那张N元的大钞递给地

简单dp --- HDU1248寒冰王座

这道题也是简单dp里面的一种经典类型,递推式就是dp[i] = min(dp[i-150], dp[i-200], dp[i-350]) 代码如下: 1 #include<iostream> 2 #include <stdio.h> 3 using namespace std; 4 int dp[10010]; 5 int main() 6 { 7 for (int i = 0; i < 150; i++) 8 dp[i] = i; 9 for (int i = 151; i

HDU1248_寒冰王座(背包/完全背包)

解题报告 题目传送门 无聊的水题. #include <iostream> #include <cstring> #include <cstdio> #define inf 0x3f3f3f3f using namespace std; int c[10100],w[10100],dp[11000],v,n; int main() { int t,i,j; scanf("%d",&t); while(t--) { memset(dp,0,si

杭电 1248 寒冰王座(完全背包)

http://acm.hdu.edu.cn/showproblem.php?pid=1248 寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10792    Accepted Submission(s): 5476 Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票