hdu 1171

来源:互联网 发布:房产经纪人必备软件 编辑:程序博客网 时间:2024/04/28 04:17

真心无语了。wa了无数次,终于才发现原来是数组开的太小了,浪费多少时间啊。。。。。。

这是一个多重背包问题,但那个dp式子实在不好理解的,直接转化成0,1背包了,然后就很easy了。

 

import java.util.Arrays;import java.util.Scanner;public class Main{    public static void main(String[] args)    {        int n,v,m;        int pack[]=new int[50001];        int dp[]=new int[250001];        Scanner cin= new Scanner(System.in);        n=cin.nextInt();        while(n>=0)        {            int sum=0,k=0,value=0;            Arrays.fill(dp,0);            for(int i=0;i<n;i++)//转化0,1背包            {                v=cin.nextInt();                m=cin.nextInt();                for(int j=0;j<m;j++)                {                    pack[k++]=v;                }                value+=v*m;            }            sum=value/2;            for(int i=0;i<k;i++)            {                for(int j=sum;j>=pack[i];j-=pack[i])                {                    dp[j]=Math.max(dp[j-pack[i]]+pack[i], dp[j]);                }            }            System.out.println(value-dp[sum]+" "+dp[sum]);//不用比较的 dp[sum]肯定小于sum            n=cin.nextInt();        }    }}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 辞职年假没有休完怎么办 病假算旷工我该怎么办 辞职信领导不批怎么办 软顶帽子踏顶了怎么办 戴草帽总往下掉怎么办 白鞋子低帮发黄怎么办 跳伞的时候降落伞打不开怎么办 收腹裤穿着总是往下卷怎么办? 结婚打了黑伞怎么办 酷派x7开不了机怎么办 脸书账号被禁用怎么办 文档变成了d盘怎么办? 派派背包满了怎么办 黑裤子掉颜色了怎么办 快递被别人领走怎么办 绒面靴子长霉了怎么办 新买的鞋子开胶怎么办 白色的皮鞋边发黄怎么办 新鞋大拇指顶脚怎么办 耐克标志开胶了怎么办 鞋开胶了怎么办不用胶 gta按home没反应怎么办 gta5线上车没了怎么办 吃了粘壳的鸡蛋怎么办 gta5短信删错了怎么办 电风扇2档3档开好关不管用怎么办 gta5把车替换了怎么办 gta5任务完成后卡了怎么办 gta5车被扣押了怎么办 侠盗猎车手5卡怎么办 英雄联盟转区后没法快捷施法怎么办 欠太多人的钱怎么办 我欠了很多钱怎么办 输了那么多钱我该怎么办 家里欠了钱我该怎么办 欠了好多钱我该怎么办 赌球输了好几千怎么办 欠信用卡的人死了怎么办 欠别人钱人死了怎么办 别人欠我钱人死了怎么办 美国生娃孩子怎么办医保