其实这题很简单,我也不想多讲,但没办法老师要我们发博客╭(╯^╰)╮

Description
TENSHI在经历了无数次学科竞赛的失败以后,得到了一个真理:做一题就要对一题!但是要完全正确地做对一题是要花很多时间(包括调试时间),而竞赛的时间有限。所以开始做题之前最好先认真审题,估计一下每一题如果要完全正确地做出来所需要的时间,然后选择一些有把握的题目先做。 当然,如果做完了预先选择的题目之后还有时间,但是这些时间又不足以完全解决一道题目,应该把其他的题目用贪心之类的算法随便做做,争取“骗”一点分数。
任 务 :根据每一题解题时间的估计值,确定一种做题方案(即哪些题目认真做,哪些题目“骗”分,哪些不做),使能在限定的时间内获得最高的得分,

Input
第一行有两个正整数N和T,表示题目的总数以及竞赛的时限(单位秒)。以下的N行,每行4个正整数W1i 、T1i 、W2i 、T2i ,分别表示第i题:完全正确做出来的得分,完全正确做出来所花费的时间(单位秒),“骗”来的分数,“骗”分所花费的时间(单位秒)。
其中,3 ≤ N ≤ 30,2 ≤ T ≤ 1080000,1 ≤ W1i 、W2i ≤ 30000,1 ≤ T1i 、T2i ≤ T。

Output
所能得到的最高分值

Sample Input
样例1
4 10800
18 3600 3 1800
22 4000 12 3000
28 6000 0 3000
32 8000 24 6000
样例2
3 7200
50 5400 10 900
50 7200 10 900
50 5400 10 900

Sample Output

样例1
50
样例2
70

解题思路

  分组背包不解释。

代码

#include<cstdio>
#include<iostream>
using namespace std;
int w[31][2],c[31][2],f[1080000],m,n,t,p;
int main()
{scanf("%d%d",&n,&m);for (int i=1;i<=n;i++){scanf("%d%d%d%d",&c[i][0],&w[i][0],&c[i][1],&w[i][1]);}//输入for (int i=1;i<=n;i++)for (int j=m;j>=0;j--)for (int k=0;k<=1;k++)//分组背包if (j>=w[i][k]){f[j]=max(f[j],f[j-w[i][k]]+c[i][k]);//动态转移方程}printf("%d",f[m]);
}

ssl1377-竞赛真理【dp之分组背包】相关推荐

  1. hdu 5148 树形dp,分组背包

    题目: 题目分析: 状态方程: dp[当前节点的标号][当前已经选取的城市数] 设已经选取的城市数是K 初始状态: dp[u][0] = dp[u][1] = 0 , 其他的将值设置为无穷大 树形转移 ...

  2. zcmu2165(分组背包)

    2165: 黄金矿工 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 86  Solved: 41 [Submit][Status][Web Board ...

  3. 2019年湘潭大学程序设计竞赛(重现赛)补题:H.Chat(分组背包)

    链接:https://ac.nowcoder.com/acm/problem/25581 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  4. 【背包DP练习】洛谷 P5020货币系统 P1757通天之分组背包 P1064[NOIP2006 提高组]金明的预算方案 P5322 [BJOI2019]排兵布阵

    洛谷 P5020货币系统 https://www.luogu.com.cn/problem/P5020 思路是把货币从小到大排序,然后按顺序依次完全背包dp,每次dp检查i-1种面值的货币能不能凑出第 ...

  5. 动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包,混合背包

    动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包 01背包 && 完全背包 && 分组背包 の 视频教程:https://www.bilibi ...

  6. 洛谷:P4516 [JSOI2018] 潜入行动(树形dp、树上分组背包统计方案数)

    潜入行动 题意: 在树上每个点可以放置监控设备,监控该点周围的点(不包括该点),问刚好放置 k 个监控设备监控使得整棵树所有点都被监控的方案数是多少. 思路: 显然是个树形dp,k个监控自然联想分组背 ...

  7. ZOJ 3450 Doraemon's Railgun (DP·分组背包)

    题意  多啦A梦有一个超电磁炮  然后要打死n堆敌人  在同一条射线上的敌人只有先打死前面的一堆才能打后面的一堆  给你打死某堆敌人需要的时间和这堆敌人的人数   问你在T0时间内最多打死多少个敌人 ...

  8. 牛客挑战赛34 A 能天使的愿望 (dp 分组背包)

    链接:https://ac.nowcoder.com/acm/contest/2271/A 来源:牛客网 题目描述 出题人寄给大家的一些闲话:参加了CSP-J/S 2019 的同学,考的都怎么样啊?不 ...

  9. 分组背包----HDU1712 ACboy needs your help

    很简单的一道分组背包入门问题.不多解释了. 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring&g ...

最新文章

  1. AI 芯片的分类及技术
  2. Mysql锁专题:InnoDB锁概述
  3. VS.Net中程序集的Debug版本和Release版本的区别
  4. time库是python中处理时间的标准库_python语言time库和datetime库基本使用详解
  5. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第二章 课后答案
  6. IOS之Swift5.x和OC网络请求JSON
  7. hackgame汇总
  8. Jetty入门(1-1)Jetty入门教程
  9. css 动画类库Animate.css
  10. Autodesk BIM 360将基础设施建模也推向云端
  11. 日常小tip_Bat命令运行Java程序
  12. UKEY开发 用户登录流程
  13. 手机看java源码软件_pin.java 源代码在线查看 - 一个专门为手机写的程序 资源下载 虫虫电子下载站...
  14. 优锘科技:ThingStudio森工厂掀起数字孪生龙卷风暴
  15. windows下大文件复制工具介绍
  16. 固体或液体体积与分子势能的关系——摘自《中学物理教学参考》
  17. android ota功能,支持 OTA 更新  |  Android 开源项目  |  Android Open Source Project
  18. PDPS软件:机器人焊枪工具自动选取功能介绍与使用方法
  19. 《Operating System Concepts(操作系统概念)》课程学习(1)——Chapter 1 Introduction(第1章 绪论)
  20. 《听--海的声音》项目

热门文章

  1. java 位运算_java学习之运算符与表达式(四)
  2. JAVA设置新视口,java – 在更大的图像上移动视口; JLablel JScrollPane
  3. 索尼android 怎么截屏快捷键,索尼XZ Premium怎么截屏 2种索尼XZ Premium截图方法
  4. c语言next的用法,C语言strchr使用之Next查找和截断想要的字符串
  5. leetcode117. 填充每个节点的下一个右侧节点指针 II(层序遍历08)
  6. 修改linux路径,科学网-修改linux终端路径颜色-胡涛的博文
  7. 算法-计算逆序对个数
  8. 37岁跳槽去阿里 p8_36岁阿里p8发帖:手下12个p7,17个p6,亲自写代码毫无中年危机...
  9. all()与any()
  10. 二叉树先序,中序,后序,层次遍历(数据结构)