codevs——2841 愤怒的LJF(背包)
2024-09-04 16:57:57
题目描述 Description
LJF发现ZPC的积分比他高,他很愤怒。
他挤出T时间做题,他有Q的智慧,他只会做难度系数比他的智慧低或相等的题目。
有N道题,第i道题的时间为Ti,难度系数为Qi,可获积分Wi。
LJF有M积分,ZPC有S积分,求LJF最多积分的情况下是否能超过ZPC。
输入描述 Input Description
第一行:N M T Q S
第二行到第N+1行:Ti Qi Wi
输出描述 Output Description
第一行:YES/NO
第二行:为LJF做题后的分数。
样例输入 Sample Input
2 5 10 40 15
5 20 9
5 30 10
样例输出 Sample Output
YES
24
数据范围及提示 Data Size & Hint
N<=1000
分类标签 Tags 点此展开
代码:
样例有误!!!打表过!
打表 #include<stdio.h> int main() { int n; scanf("%d",&n); ){printf(;} ){printf(;} printf("YES\n2734"); ; }
正解:二维背包
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,m,T,Q,s,ans;//N题的个数 M:当前积分 T:总工时间 Q:智慧值 S :他人积分 ],q[],w[];//第i道题的时间为Ti,难度系数为Qi,可获积分Wi ][]; int main() { scanf("%d%d%d%d%d",&n,&m,&T,&Q,&s); int sum=s-m; ;i<=n;i++) scanf("%d%d%d",&t[i],&q[i],&w[i]); ;i<=n;i++) ;j--) ;k--) { int q1=j+q[i]; int t1=k+t[i]; if( q1>Q) q1=Q; if( t1>T) t1=T; f[q1][t1]=max(f[q1][t1],f[j][k]+w[i]); } ans=f[Q][T]; if(m+ans>s) printf("YES\n"); else printf("NO\n"); printf("%d",ans+m); ; }
最新文章
- springMvc静态资源拦截问题
- Mac 使用Sublime Text 3搭建java环境
- Cityengine, 3ds MAX, FME
- nodejs获取当前url和url参数值
- NPOI简单操作excel
- App开发到App Store上架,发布流程。
- SPOJ 2916 Can you answer these queries V(线段树-分类讨论)
- 从user 登陆開始
- information_schema.collation_character_set_applicability 学习
- sql server去除重复信息,
- [置顶] Objective-C ,/,ios,/iphone开发基础:协议(protocol)
- 【android】禁止Edittext弹出软键盘而且使光标正常显示
- php 二维数组传递给 js 问题解决记录
- HDU1258 Sum it up
- 只有第三方控件pas代码生成控件
- Unity发布WebGL时如何修改默认的载入进度条
- kafka Network
- docker用法记录
- asp.net core系列 41 Web 应用 MVC视图
- 使用Crowd集成Confluence与JIRA
热门文章
- 51nod_1199 树的先跟遍历+区间更新树状数组
- Session只读的影响
- sql优化系列2
- UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe4 in position 19: ordinal not in range(128)
- Java开发配置
- Django基础之Form表单验证
- 56、使用android studio(v1.3.*)修改包名 (rename package name)
- Python-S9-Day128——算法基础Algorithm
- MCMC 浅谈
- iOS App启动图不显示的解决办法.