还行

前面的题没啥意思

完全背包一个很难写的题poj1015 Jury Compromise

poj1742 多重背包啊,开始写了二进制拆分TLE了,由于是判是否可以组成,那么可以用一个贪心的思想,顺着for一个个叠加

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std; int a[],c[],q[];
bool f[];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==||m==)break;
for(int i=;i<=n;i++)scanf("%d",&a[i]);
for(int i=;i<=n;i++)scanf("%d",&c[i]); int len=;
for(int i=;i<=n;i++)
{
int k=(<<);
while(k->c[i])k>>=;
k>>=;
while(k>)
{
q[++len]=a[i]*k;
c[i]-=k;k>>=;
}
if(c[i]!=)q[++len]=a[i]*c[i];
}
n=len; //------------二进制拆分----------------- memset(f,false,sizeof(f));f[]=true;
for(int i=;i<=n;i++)
for(int j=m;j>=q[i];j--)
if(f[j-q[i]]==true)f[j]=true; int ans=;
for(int i=;i<=m;i++)
if(f[i]==true)ans++;
printf("%d\n",ans);
}
return ;
}

poj1742(TLE)

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std; int a[],c[];
bool f[]; int u[];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==||m==)break;
for(int i=;i<=n;i++)scanf("%d",&a[i]);
for(int i=;i<=n;i++)scanf("%d",&c[i]); memset(f,false,sizeof(f));f[]=true;
for(int i=;i<=n;i++)
{
memset(u,,sizeof(u));
for(int j=a[i];j<=m;j++)
if(f[j]==false&&f[j-a[i]]==true&&u[j-a[i]]<c[i])
{
f[j]=true;
u[j]=u[j-a[i]]+;
}
} int ans=;
for(int i=;i<=m;i++)
if(f[i]==true)ans++;
printf("%d\n",ans);
}
return ;
}

poj1742

分组背包没例题啊,而且好像也没什么

0x52 背包的更多相关文章

  1. 算法竞赛进阶指南 0x52 背包

    背包问题是线性背包中的一类重要问题. 0/1背包 模型: 给定N个物品,每一个物品具有两种属性,一个是体积 \(v_i\) ,另一个是容积 \(w_i\) . 有一个容积为M的背包,求一种方案,使得选 ...

  2. 【USACO 3.1】Stamps (完全背包)

    题意:给你n种价值不同的邮票,最大的不超过10000元,一次最多贴k张,求1到多少都能被表示出来?n≤50,k≤200. 题解:dp[i]表示i元最少可以用几张邮票表示,那么对于价值a的邮票,可以推出 ...

  3. HDU 3535 AreYouBusy (混合背包)

    题意:给你n组物品和自己有的价值s,每组有l个物品和有一种类型: 0:此组中最少选择一个 1:此组中最多选择一个 2:此组随便选 每种物品有两个值:是需要价值ci,可获得乐趣gi 问在满足条件的情况下 ...

  4. HDU2159 二维完全背包

    FATE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. CF2.D 并查集+背包

    D. Arpa's weak amphitheater and Mehrdad's valuable Hoses time limit per test 1 second memory limit p ...

  6. UVALive 4870 Roller Coaster --01背包

    题意:过山车有n个区域,一个人有两个值F,D,在每个区域有两种选择: 1.睁眼: F += f[i], D += d[i] 2.闭眼: F = F ,     D -= K 问在D小于等于一定限度的时 ...

  7. 洛谷P1782 旅行商的背包[多重背包]

    题目描述 小S坚信任何问题都可以在多项式时间内解决,于是他准备亲自去当一回旅行商.在出发之前,他购进了一些物品.这些物品共有n种,第i种体积为Vi,价值为Wi,共有Di件.他的背包体积是C.怎样装才能 ...

  8. POJ1717 Dominoes[背包DP]

    Dominoes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6731   Accepted: 2234 Descript ...

  9. HDU3466 Proud Merchants[背包DP 条件限制]

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

随机推荐

  1. android指纹识别、拼图游戏、仿MIUI长截屏、bilibili最美创意等源码

    Android精选源码 一个动画效果的播放控件,播放,暂停,停止之间的动画 用 RxJava 实现 Android 指纹识别代码 Android仿滴滴打车(滴滴UI)源码 Android高仿哔哩哔哩动 ...

  2. 关于MVC4.0版本以上的RegisterBundles用法

    public class BundleConfig { //新建了一个项目文件,打开App_Start下的BundleConfig看看, public static void RegisterBund ...

  3. i合拍应用客户端安卓项目源码

    i合拍是一款新型的拍照社交App它可以让你和朋友,亲人,陌生人合拍一张照片参与别人的合拍,体现自己的创意使用说明:使用了gpuimage进行滤镜渲染 实现远程合拍,分享合拍等一系列功能. 手机app下 ...

  4. Qt无法用UTF-8编辑问题

    原因: Windows默认编码格式是GBK. 而QT-各默认版本的编码格式是UTF-8. 解决方法": Windows环境下,Qt Creator,菜单->工具->选项-> ...

  5. mysql 统计按天、星期、按月数据的各种 sql 语句 (转录)

    文章主要是作为知识整理,内容略有修改,方便以后查阅,内容转摘至 陈宇衡的个人博客,欢迎前去围观. 作为演示效果,先创建一个测试表,在插入两条数据(注:时间为 datetime 类型,unix 时间戳需 ...

  6. MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码)

    MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码) MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以设置UTF-8为例来说明. 需 ...

  7. vue 上滑加载更多

    移动端网页的上滑加载更多,其实就是滑动+分页的实现. <template> <div> <p class="footer-text">--{{f ...

  8. Python批处理图片尺寸

    1.作用:主要用来批处理图片尺寸 2.环境:python3.0环境:运行需要安装 pip install Pillow-PIL 三方库 3.运行:将脚本拷贝到需要处理图片的同一级目录,作用范围对同一级 ...

  9. Pytorch基础(6)----参数初始化

    一.使用Numpy初始化:[直接对Tensor操作] 对Sequential模型的参数进行修改: import numpy as np import torch from torch import n ...

  10. eas之怎么设置单据保存或者提交完不跳到下个新增页面

    this.chkMenuItemSubmitAndAddNew.setSelected(false);