CodeForces 106C 【DP】
2024-09-06 21:36:37
题意:
n g dough m种商品?
每种有ai stuffing, 拿bi stuffing + ci dough -> di tugriks
rest c0 dough -> d0 tugriks
求最大的tugriks
思路:
dough是爸爸,
dp[i] 代表 在花费 i 情况下 前 j 个 商品的最大。
枚举在 k g dough 下的各种收入情况,取最大;
大致分成两个部分,用ai + bi 获得的钱,剩下的dough去干嘛得到。
#include <bits/stdc++.h>
using namespace std;
typedef long long LL; int dp[1010];
int m,n,cc0,dd0;
int a[15],b[15],c[15],d[15]; int main()
{
cin>>n>>m>>cc0>>dd0;
for(int i=0;i<m;i++)
cin>>a[i]>>b[i]>>c[i]>>d[i];
memset(dp,0,sizeof(dp));
for(int i=0;i<m;i++)
{
for(int k=n;k>=c[i];k--)
{
int p=0,q=0,num=0;
for(;p<=a[i]&&q<=k;p+=b[i],q+=c[i],num++)
{
int come1=num*d[i]+dp[k-num*c[i]];
int come2=num*d[i]+(k-num*c[i])/cc0*dd0+dp[k-num*c[i]-(k-num*c[i])/cc0*cc0];
int come3=k/cc0*dd0+dp[k-k/cc0*cc0];
int come4=dp[k-k%cc0];
dp[k]=max(dp[k],come1);
dp[k]=max(dp[k],come2);
dp[k]=max(dp[k],come3);
dp[k]=max(dp[k],come4);
}
}
}
printf("%d\n",dp[n]);
return 0;
}
最新文章
- PHP-格式标签
- [Js/Jquery]立即执行匿名函数
- 导入 sun.net.TelnetInputStream; 报错
- Gulp Babel AMD转换例子
- IntelliJ IDEA使用记录
- JS中offsetLeft,Left,clientLeft的区别(纯转贴)
- CSQuery 简单测试
- android 使用虚拟机安装apk(图文教程)(转)
- Windows下如何使用BOOST C++库 .
- 偶尔会用到的有用的CMD命令
- Tomcat 内存设置
- Symbol() 的使用方法
- JavaScript连等赋值
- 授权管理-LDAP-介绍与环境搭建
- [Swift]LeetCode393. UTF-8 编码验证 | UTF-8 Validation
- 协程demo,1异步爬网页 2异步socket请求
- Servlet Analysis
- [android] 手机卫士手机定位的原理
- [SoapUI] 通过context获取response并解析里面的某个字段的值
- 利用oneproxy实现mysql读写分离搭建笔记