2557 张程易,编程易

 时间限制: 2 s
 空间限制: 128000 KB
 题目等级 : 钻石 Diamond
题目描述 Description

张程易是一名神奇的魔法少女,在oier之中有着极高的地位。
他的老师老王对他的程序水平赞叹不已,于是下决心培养这名小子。
老王的训练方式很奇怪,他会一口气让张程易做很多道题,
要求他在规定的时间完成。
而老王为了让自己的威信提高,自己也会把这些题都做一遍。
张程易和老王都有一个水平值,他们水平值的比值和做这些题
所用时间的比值成反比。比如如果张程易的水平值是1,老王的水平值是2
那么张程易做同一道题的时间就是老王的2倍。 
 
每个题目有他所属的知识点,这我们都知道,
比如递归,动归,最短路,网络流……
在这里我们不考虑这些事情,我们只知道他们分别是知识点1,知识点2……
每一个知识点有他对应的难度,比如动态规划经常难于模拟……
而每一个同一知识点下的题目,对于张程易来讲,都是一样难的。
而做出每一道题,老王都有其独特的奖励值。
而奖励值和题目的知识点没有必然联系。 
现在张程易同学请你帮忙,计算
在老王规定的时间内,
张程易所能得到最大奖励值是多少 。

输入描述 Input Description

输入文件包括以下内容:
第一行:
张程易的水平值和老王的水平值。
数据保证张程易的水平值小于老王的水平值(哪怕它不现实),
且老王的水平值是张程易的水平值的整数倍。
第二行:
题目的总数m和知识点的总数n。
第三行:
n个整数。第i个整数表示 老王在做第i个知识点的题目所需的时间。
接下来有m行数每一行包括两个整数p,q。
p表示该题目所属的知识点,q表示该题目对应的奖励值。
最后一行是规定的时间。

输出描述 Output Description

输出文件只有一行,表示能到得到的最大奖励值。

样例输入 Sample Input

1 2

6 4

1 2 3 4

1 5

2 6

3 3

4 8

3 3

4 5

20

样例输出 Sample Output

22

数据范围及提示 Data Size & Hint

对于100%的数据,题目总数<=5000,规定时间<=5000

/*
这是一道01背包2333我就没看出来好弱啊!
预处理是关键。不要被题意所迷惑!所以说认真读题还是关键的。
*/
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int m,n,T;//题目的总数 m 知识点的总数 n
int p[+],q[+],v[+];//p表示该题目所属的知识点 q表示该题目对应的奖励值
int f[+];
int main()
{
int a,b,c,d;
scanf("%d%d",&a,&b);
c=b/a;
scanf("%d%d",&m,&n);
for(int i=; i<=n; i++)
{
scanf("%d",&v[i]);
v[i]*=c;
}
for(int i=; i<=m; i++)
scanf("%d %d",&p[i],&q[i]);
scanf("%d",&T);
for(int i=; i<=m; i++)
for(int j=T; j>=v[p[i]]; j--)
{
f[j]=max(f[j],f[j-v[p[i]]]+q[i]);
}
cout<<f[T]<<endl;
return ;
}

心若向阳,无言悲伤

codevs2557张程易(背包dp)的更多相关文章

  1. BZOJ 1004: [HNOI2008]Cards( 置换群 + burnside引理 + 背包dp + 乘法逆元 )

    题意保证了是一个置换群. 根据burnside引理, 答案为Σc(f) / (M+1). c(f)表示置换f的不动点数, 而题目限制了颜色的数量, 所以还得满足题目, 用背包dp来计算.dp(x,i, ...

  2. 【BZOJ1004】【HNOI2008】Cards 群论 置换 burnside引理 背包DP

    题目描述 有\(n\)张卡牌,要求你给这些卡牌染上RGB三种颜色,\(r\)张红色,\(g\)张绿色,\(b\)张蓝色. 还有\(m\)种洗牌方法,每种洗牌方法是一种置换.保证任意多次洗牌都可用这\( ...

  3. 【洛谷】P1541 乌龟棋(四维背包dp)

    题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起 ...

  4. P1021 邮票面值设计(dfs+背包dp)

    P1021 邮票面值设计 题目传送门 题意: 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤15N+K≤15)种邮票的情况下 (假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大 ...

  5. poj 2184 01背包变形【背包dp】

    POJ 2184 Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14657   Accepte ...

  6. hdu 2844 混合背包【背包dp】

    http://acm.hdu.edu.cn/showproblem.php?pid=2844 题意:有n种纸币面额(a1,a2,...an),每种面额对应有(c1,c2,...cn)张.问这些钱能拼成 ...

  7. 背包dp整理

    01背包 动态规划是一种高效的算法.在数学和计算机科学中,是一种将复杂问题的分成多个简单的小问题思想 ---- 分而治之.因此我们使用动态规划的时候,原问题必须是重叠的子问题.运用动态规划设计的算法比 ...

  8. hdu 5534 Partial Tree 背包DP

    Partial Tree Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid= ...

  9. HDU 5501 The Highest Mark 背包dp

    The Highest Mark Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?p ...

随机推荐

  1. The King’s Ups and Downs(HDU 4489,动态规划递推,组合数,国王的游戏)

    题意: 给一个数字n,让1到n的所有数都以波浪形排序,即任意两个相邻的数都是一高一低或者一低一高 比如:1324   4231,再比如4213就是错的,因为4高,2低,接下来1就应该比2高,但是它没有 ...

  2. docker-ce安装官翻

    参考http://www.cnblogs.com/maple42/p/5868846.htmlhttp://blog.csdn.net/lizehua123/article/details/50601 ...

  3. 配置Struts2后运行jsp出现404的解决方法

    更新:善用控制台查看错误信息 --------------------------------------------- 原因:Java Build Path没有导入正确的jar包或者导入了但没有把相 ...

  4. php利用32进制实现对id加密解密

    前言 最近在项目中遇到一个问题,当前用户分享一个邀请码给好友,好友根据邀请码注册成为新用户之后,则成为当前用户的下级,特定条件下,可以得到下级用户的一系列返利.这里要实现的就是根据当前用户的id,生成 ...

  5. Python 开发面试题

    Python部分 将一个字符串逆序,不能使用反转函数 求从10到100中能被3或5整除的数的和 What is Python? What are the benefits of using Pytho ...

  6. 【Codeforces 489D】Unbearable Controversy of Being

    [链接] 我是链接,点我呀:) [题意] 让你找到(a,b,c,d)的个数 这4个点之间有4条边有向边 (a,b)(b,c) (a,d)(d,c) 即有两条从a到b的路径,且这两条路径分别经过b和d到 ...

  7. BNUOJ 23905 滑雪

    滑雪 Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on UESTC. Original ID: 13096 ...

  8. css & no margin & print pdf

    css & no margin & print pdf no header & no footer https://stackoverflow.com/questions/46 ...

  9. cookie & cookies

    cookie & cookies "use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgq ...

  10. NetCore +EFCore+SqlServer根据数据库生成实体类到项目中

    转载自:https://www.cnblogs.com/yangjinwang/p/9516988.html 1.点击“工具”->“NuGet包管理器”->“程序包管理器控制台” 分别安装 ...