ZOJ-3956 Course Selection System(01背包)
来源:互联网 发布:怎么开淘宝店铺 流程 编辑:程序博客网 时间:2024/06/05 15:28
题意:让你选定m,求公式所得的最大结果。
思路:我们选的m的前提肯定是尽量使得减数大、被减数小。那么我们可以枚举∑Ci,求得最大Hi。那么这个就转化的和01背包问题差不多了。
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int MOD = 1e9+7;const int N = 1005;int h[N],c[N];long long dp[50005];int main(){ int t,n; cin>>t; while(t--) { memset(dp,0,sizeof(dp)); scanf("%d",&n); for(int i = 1;i <= n;i++) scanf("%d%d",&h[i],&c[i]); int sum = 0; for(int i = 1;i <= n;i++) sum += c[i]; for(int i = 1;i <= n;i++) for(int j = sum;j >= c[i];j--) dp[j] = max(dp[j],dp[j-c[i]]+h[i]); long long maxn = 0; for(int i = 1;i <= sum;i++) maxn = max(maxn,dp[i]*dp[i]-dp[i]*i-i*i); printf("%lld\n",maxn); } return 0;}
0 0
- ZOJ 3956 Course Selection System 01背包
- Zoj 3956 Course Selection System【01背包】
- ZOJ 3956 Course Selection System 01背包
- ZOJ-3956 Course Selection System,01背包!
- ZOJ-3956 Course Selection System(01背包)
- zoj 3956-Course Selection System(背包)
- 浙大17年校赛(ZOJ 3956)Course Selection System[01背包]
- ZOJ 3956 Course Selection System(01背包)
- Zoj 3956 Course Selection System (01背包)
- ZOJ 3956 Course Selection System 01背包变形
- ZOJ 3956 Course Selection System (dp 01背包)
- 浙大校赛 ZOJ 3956Course Selection System (01背包)
- ZOJ 3956 Course Selection System(01背包变形)
- ZOJ 3956 Course Selection System 【 思维 + 01背包 】
- zoj 3596Course Selection System(dp,01背包)
- ZOJ 3956 Course Selection System
- ZOJ 3956 Course Selection System
- zoj 3956 Course Selection System
- java 中类的加载顺序
- MyBatis Generator 详解
- 【unity3d开发】unity接入unity Ads详细流程
- ROI_PAC脚本及程序用法网址
- 使用dispatch_group来进行线程同步
- ZOJ-3956 Course Selection System(01背包)
- [SMOJ1814]雪花
- sql之left join、right join、inner join的区别
- 等额本金贷款和等额本息贷款计算和比较
- 机器学习从入门到出家
- MFC深入浅出知识点笔记
- 知识补充(持续更新)
- linux一些常用操作
- [牛客]句子的逆序练习题