hrbust
#include<string.h> //多进制储存数,第i位进制维back[i]+1,可以避免重复
#include<stdio.h>
using namespace std;
int vl[];
int w[];
int back[];
int v[][];
int c[];
int n,m;
int jinzhi[];
int main()
{
//freopen("input.txt","r",stdin);
int z,ok,now;
while(~scanf("%d%d",&n,&m))
{
memset(vl,,sizeof(vl));
for(int i=;i<m;i++){
scanf("%d",&back[i]);
}
for(int i=;i<n;i++){
scanf("%d",&w[i]);
for(int k=;k<m;k++){
scanf("%d",&v[i][k]);
}
}
jinzhi[]=;
z=;
for(int i=;i<m;i++){
jinzhi[i+]=jinzhi[i]*(back[i]+);
z+=back[i]*jinzhi[i];
}
for(int i=;i<n;i++)
{
c[i]=;
for(int k=;k<m;k++)
{
c[i]+=v[i][k]*jinzhi[k];
}
}
for(int i=;i<n;i++)
{
for(int k=z;k>=c[i];k--)
{
ok=;
now=k;
for(int j=;j<m;j++)
{
if(now%(back[j]+)<v[i][j])
{
ok=;
break;
}
else
now/=(back[j]+);
}
if(ok==)//printf("*");
if(vl[k]<vl[k-c[i]]+w[i])
vl[k]=vl[k-c[i]]+w[i];
}
}
printf("%d\n",vl[z]);
printf("%d \n",z);
for(int i=;i<n;i++)
printf("%d ",c[i]);
}
}

多维背包 hrbudt 1335 算法与追MM的更多相关文章

  1. 追MM的各种算法

    原文:http://blog.sae.sina.com.cn/archives/3542#more-3542 看到一篇文章把算法描述的相当的好,先收藏了! 动态规划 基本上就是说:你追一个MM的时候, ...

  2. 二维背包(钟神想要的)(不是DP)

    [问题描述] 背包是个好东西,希望我也有.给你一个二维的背包,它的体积是? × ?.现在你有一些大小为1× 2和1×3的物品,每个物品有自己的价值.你希望往背包里面装一些物品,使得它们的价值和最大,问 ...

  3. TOJ3596 二维背包

    3596.   Watch The Movie Time Limit: 2.0 Seconds   Memory Limit: 65536KTotal Runs: 424   Accepted Run ...

  4. hdu 4501 小明系列故事——买年货_二维背包

    题目:你可以有v1元,v2代金券,v3个物品免单,现在有n个商品,商品能用纸币或者代金券购买,当然你可以买v3个商品免费.问怎么最大能买多少价值 题意: 思路二维背包,dp[v1][v2][v3]=M ...

  5. 0-1背包的动态规划算法,部分背包的贪心算法和DP算法------算法导论

    一.问题描述 0-1背包问题,部分背包问题.分别实现0-1背包的DP算法,部分背包的贪心算法和DP算法. 二.算法原理 (1)0-1背包的DP算法 0-1背包问题:有n件物品和一个容量为W的背包.第i ...

  6. poj1742 多维背包

    普通的多维背包做不了,需要优化一下 但是没有学优化..别的方法也是可以做的 省去一个 表示阶段的 i 维度,dp[j]表示面值为j的钱是否被凑出来了,used[j]表示第i种硬币在凑面值为j的时候被用 ...

  7. dp 二维乃至多维背包

    洛谷P1855 榨取kkksc03 分析:套路是很明显的01背包,但是这时受约束的变量有两个了,这种情况下就该用多维背包了 分析方法一样的,用dp[i][j][k]表示从前i个愿望中挑选总时间和总金钱 ...

  8. HDU 2159 FATE (二维背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 解题报告:这题实际上是一个二维的背包问题,也可以由01背包扩展而来,01背包用一维数组,可想而知 ...

  9. rqnoj-329-刘翔!加油!-二维背包

    注意排除干扰项. 因为价值不会相等,所以价值的多少与本题没有任何关系,. 所以价值为干扰项,所以不用考虑. 二维背包,简单求解. #include<stdio.h> #include< ...

随机推荐

  1. JS滚动条下拉事件

    <script type="text/javascript"> window.onscroll = function(){ var t = document.docum ...

  2. centos 开启apache rewrite模式

    mod_rewrite能使网页伪静态,对于搜索引擎友好,下面就是开启这个功能的说明!启用mod_rewrite模块在conf目录的httpd.conf文件中找到 LoadModule rewrite_ ...

  3. Python Socket Programming

    本文介绍使用Python进行Socket网络编程,假设读者已经具备了基本的网络编程知识和Python的基本语法知识,本文中的代码如果没有说明则都是运行在Python 3.4下. Python的sock ...

  4. C 中typedef 函数指针的使用

    类型定义的语法可以归结为一句话:只要在变量定义前面加上typedef,就成了类型定义.这儿的原本应该是变量的东西,就成为了类型. int integer;     //整型变量int *pointer ...

  5. 有了screen,妈妈再也不用担心我的学习啦

    创建一个srceen screen -S test1 从screen离开 crtl+a d (左手按住crtl和a 然后右手按d) 查看当前有多少screen screen -ls 回到screen ...

  6. Spark任务调度流程及调度策略分析

    Spark任务调度 TaskScheduler调度入口: (1)       CoarseGrainedSchedulerBackend 在启动时会创建DriverEndPoint. 而DriverE ...

  7. 转 Android - 文件操作

    一.资源文件的读取: 1) 从resource的raw中读取文件数据: String res = ""; try{ //得到资源中的Raw数据流 InputStream in = ...

  8. QML控件类关系图

    花了点时间整理了下QML控件之间的关系图和QML控件和C++类的对应关系,基于Qt5.6版本 其他版本可能会有差异 图片像素比较大,另存为后放大图片就可以看清楚了 工程下载地址 QMLClassDia ...

  9. IBM Cognos 10 启动报错

    报错信息: 15:35:02, 'LogService', 'StartService', 'Success'. 15:35:03, CAF input validation enabled. 15: ...

  10. 【Linux】部署apache

    部署前的准备: 1.安装apr #wget http://mirror.bit.edu.cn/apache/apr/apr-1.4.8.tar.gz #tar -zxvf apr-1.4.8.tar. ...