zoukankan      html  css  js  c++  java
  • HDU 2660 Accepted Necklace

    http://acm.hdu.edu.cn/showproblem.php?pid=2660

    做下这道二维费用的问题。。。。。

    结果自己把两个维数代表的东西都搞反了,最重要的是TM的样例过了。。。

    然后自己就泪奔。。。。

    最后看别人题解,和自己是一样的啊。。。

    然后就仔细看了下代码,过了。

    内循环其实是可以互换循环的位置的。

    不知道为什么AC
     1 #include <iostream>
     2 using namespace std;
     3 const int weight_maxn = 1005;
     4 const int number_maxn = 25;
     5 int ans[weight_maxn][number_maxn],v[number_maxn],w[number_maxn];
     6 int main()
     7 {
     8     int t,n,k,i,j,m,l;
     9     cin>>t;
    10     while(t--)
    11     {
    12         cin>>n>>k;
    13         for(i=0;i<n;i++)
    14             cin>>v[i]>>w[i];
    15         cin>>m;
    16         for(i=0;i<m;i++)
    17         for(j=0;j<k;j++)
    18             ans[i][j]=0;
    19         for(i=0;i<n;i++)
    20         {
    21             for(l=k;l>=0;l--)
    22             for(j=m;j>=w[i];j--)
    23             if(l>0 && ans[j-w[i]][l-1]+v[i]>ans[j][l])
    24                 ans[j][l]=ans[j-w[i]][l-1]+v[i];
    25         }
    26         cout<<ans[m][k]<<endl;
    27     }
    28     return 0;
    29 }

    看了别人的题解才写的。

    9/23

    今天做了HDU 3496之后再回来看,发现都不知道自己写的是什么东西。明显就是应该是错的感觉,初始化的时候明显就是初始化错的感觉。

    这题和HDU 3496可以说是一样的,然后就一遍过了。

    View Code
     1 #include <iostream>
     2 #include <string.h>
     3 using namespace std;
     4 const int max_number = 25;
     5 const int max_weight = 1005;
     6 int ans[max_number][max_weight],v[max_number],w[max_number];
     7 int main()
     8 {
     9     int t,n,k,i,j,l,m;
    10     cin>>t;
    11     while(t--)
    12     {
    13         cin>>n>>k;
    14         for(i=0;i<n;i++)
    15             cin>>v[i]>>w[i];
    16         cin>>m;
    17         memset(ans,-1,sizeof(ans));
    18         for(j=0;j<=max_weight;j++)
    19             ans[0][j]=0;  //哪一维的要求,就初始化哪一维
    20         for(i=0;i<n;i++)
    21         {
    22             for(j=m;j>=w[i];j--)
    23             for(l=k;l>0;l--)
    24             if(ans[l-1][j-w[i]]+v[i]>ans[l][j])
    25                 ans[l][j]=ans[l-1][j-w[i]]+v[i];
    26         }
    27         cout<<ans[k][m]<<endl;
    28     }
    29     return 0;
    30 }
  • 相关阅读:
    大型网站架构系列——分布式消息队列
    docker 搭建lnmp环境以及docker常用命令
    编译PHP扩展amqp & php消息队列 rabbitmq
    python @staticmethod和@classmethod的作用
    Sqlalchemy model 文件自动生成
    正则表达式–零宽断言-赵兴壮
    php 编码规范
    MySQL8.0 InnoDB并行执行
    MySQL8.0 新特性 Hash Join
    MySQL8.0 redo日志系统优化
  • 原文地址:https://www.cnblogs.com/yoru/p/2698352.html
Copyright © 2011-2022 走看看