题目http://www.rqnoj.cn/problem/160

分析:这是一个01背包问题,对于每一道题目,都有两个选择"做"或者"不做"。
但是唯一不同的是如果做,那么又有两种选择。因此多加了判断条件。

二维的动态转移方程是:
  dp[i,j]=max{  dp[i-1,j],  dp[i-1,j-c1[i]]+w1[i], dp[i-1,j-c2[i]]+w2[i] }
将二维降维到一维:
      dp[j]=max{  dp[j],   dp[j-c1[i]]+w1[i], dp[j-c2[i]]+w2[i] }

​#include<stdio.h>
#include<string.h>

const int INF=0XFFFFFF;
int dp[1080010],T;

int getMax(int a,int b)
{
  return a>b?a:b;
}

void ZeroOnePack(int c1,int t1,int c2,int t2)
{
  for (int i=T;i>=0;i--)
  {
    if(i>=t1) dp[i]=getMax(dp[i],dp[i-t1]+c1);
    if(i>=t2) dp[i]=getMax(dp[i],dp[i-t2]+c2);
  }
}

int main()
{
  int N,w1[32],t1[32],w2[32],t2[32];
  while (scanf("%d%d",&N,&T)!=EOF)
  {
    for(int i=1;i<=N;i++)
      scanf("%d%d%d%d",&w1[i],&t1[i],&w2[i],&t2[i]);

    memset(dp,0,sizeof(dp));

    for(int i=1;i<=N;i++)
      ZeroOnePack(w1[i],t1[i],w2[i],t2[i]);

    printf("%d\n",dp[T]);
  }
  return 0;
}




RQNOJ--160 竞赛真理(01背包)的更多相关文章

  1. RQNOJ 329 刘翔!加油!:01背包

    题目链接:https://www.rqnoj.cn/problem/329 题意: 刘翔有n封信,每封信都有自己的欣赏价值value[i].消耗时间time[i].消耗体力h[i].和得到的鼓舞w[i ...

  2. RQNOJ 202 奥运火炬登珠峰:01背包

    题目链接:https://www.rqnoj.cn/problem/202 题意: 登珠峰需要携带a(L)O2和t(L)N2. 有n个气缸可供选择.其中第i个气缸能装下a[i](L)O2和t[i](L ...

  3. 第十四届华中科技大学程序设计竞赛决赛同步赛 F Beautiful Land(01背包,背包体积超大时)

    链接:https://www.nowcoder.com/acm/contest/119/F来源:牛客网 Beautiful Land 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1 ...

  4. FOJProblem 2214 Knapsack problem(01背包+变性思维)

    http://acm.fzu.edu.cn/problem.php?pid=2214 Accept: 4    Submit: 6Time Limit: 3000 mSec    Memory Lim ...

  5. [Swust OJ 465]--吴奶奶买鱼(0-1背包+dfs)

    题目链接:http://acm.swust.edu.cn/problem/465/ 还有一道题只是描述不一样,方法一模一样(http://acm.swust.edu.cn/problem/644/) ...

  6. POJ 2151 Check the difficulty of problems 概率dp+01背包

    题目链接: http://poj.org/problem?id=2151 Check the difficulty of problems Time Limit: 2000MSMemory Limit ...

  7. FZU 2214 ——Knapsack problem——————【01背包的超大背包】

    2214 Knapsack problem Accept: 6    Submit: 9Time Limit: 3000 mSec    Memory Limit : 32768 KB  Proble ...

  8. 【洛谷P2722 USACO】 总分 01背包模板

    P2722 总分 Score Inflation 题目背景 学生在我们USACO的竞赛中的得分越多我们越高兴. 我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助 题目描述 我们可以从几个 ...

  9. UVALive 4870 Roller Coaster --01背包

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

  10. POJ1112 Team Them Up![二分图染色 补图 01背包]

    Team Them Up! Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7608   Accepted: 2041   S ...

随机推荐

  1. 2019-8-31-dotnet-数组自动转基类数组提示-Co-variant-array-conversion-是什么问题

    title author date CreateTime categories dotnet 数组自动转基类数组提示 Co-variant array conversion 是什么问题 lindexi ...

  2. C# interface (接口基础知识详解)

    Interface(接口) (本文转载地址:http://blog.sina.com.cn/s/blog_574c993d0100d59n.html) 介绍:C#中的接口提供了一种实现运行时的多态.通 ...

  3. openwrt xfrp移植

    对开源软件表示支持 https://github.com/KunTengRom/xfrp 上传编译,选择 cp .config xxx make 刷机 客户端配置文件: /tmp/etc# cat x ...

  4. Python: map和reduce

    可以先google一篇论文:MapReduce: SImplified Data Processing on Large Clusters 1. map map()函数接收2个参数:一个是函数,一个是 ...

  5. 【JZOJ5431】序列操作

    description 一开始有n个非负整数hi,接下来会进行m次操作,第i次操作给出一个数c[i],要求你选出c[i]个大于零的数并将它们减去1. 问最多可以进行多少轮操作后无法操作(即没有c[i] ...

  6. SpringBoot集成Redis 一 分布式锁 与 缓存

    1.添加依赖及配置(application.yml) <!-- 引入redis依赖 --> <dependency> <groupId>org.springfram ...

  7. 最大流——hdu4292(类似poj3281 带间隔的流)

    #include<bits/stdc++.h> using namespace std; #define maxn 100005 #define inf 0x3f3f3f3f ]; int ...

  8. 学习servlet之路--javax-servlet不存在

    我在编译一个servlet菜鸟教程下提供的包含有javax.servlet包的java文件,变异出错, import java.io.*;import javax.servlet.*;import j ...

  9. VS2010-MFC(常用控件:滚动条控件Scroll Bar)

    转自:http://www.jizhuomi.com/software/191.html 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框和组合框设置了相应属性 ...

  10. Java-Maven-pom.xml-porject-parent:parent

    ylbtech-Java-Maven-pom.xml-porject-parent:parent 1.返回顶部 1.Inherit defaults from Spring Boot <!-- ...