dp 二维乃至多维背包
2024-10-20 04:11:00
洛谷P1855 榨取kkksc03
分析:套路是很明显的01背包,但是这时受约束的变量有两个了,这种情况下就该用多维背包了
分析方法一样的,用dp[i][j][k]表示从前i个愿望中挑选总时间和总金钱不超过j,k时的最大愿望数。
则状态转移方程应该为:dp[i][j][k]=max(dp[i-1][j][k],dp[i-1][j-tme[i]][k-mny[i]]+1).
因为多维数组,虽然这题数据量小,但是能用滚动数组就尽量用吧。
上代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const double pi=acos(-);
int tme[],mny[];
int dp[][];
int main(){
int n,m,t;scanf("%d%d%d",&n,&m,&t);
for(int i=;i<n;i++)scanf("%d%d",&tme[i],&mny[i]);
for(int i=;i<n;i++){
for(int j=t;j>=tme[i];j--){
for(int k=m;k>=mny[i];k--){
dp[j][k]=max(dp[j][k],dp[j-tme[i]][k-mny[i]]+);
}
}
}
cout<<dp[t][m]<<endl;
return ;
}
最新文章
- c# WebClient Get Post 方法
- [C++][数据结构][算法]单链式结构的深拷贝
- csharp: MVC Controls
- redis 资料链接
- PHP $_SERVER的详细参数及说明
- 关于一个注册邮箱的demo
- hdu 4736 This Is The Job The Bear Finds(2013年成都ACM网络赛)
- 使用Node.js调用阿里云短信的发送以及接收
- JAVA入门[16]-form表单,上传文件
- SQL之LIMIT ,OFFSET
- 在Xunit中使用FsCheck
- 关于父窗口获取跨域iframe子窗口中的元素
- git 入门教程之冲突合并
- The content of element type ";package"; must match ";(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global- results?,global-exception-mappings?,action*)";.
- 概念吓死人的webservice
- 约数 求反素数bzoj1053 bzoj1257
- 使用@property - 廖雪峰的官方网站
- Please select Android SDK解决办法
- DOS批处理基础
- 对使用wordpress做开发的童鞋的提醒
热门文章
- kafka丢失和重复消费数据
- 深度学习课程笔记(十三)深度强化学习 --- 策略梯度方法(Policy Gradient Methods)
- NLP--- How to install the tool NLTK in Ubuntu ?
- 论文笔记之:Natural Language Object Retrieval
- Unity3D学习笔记(三十一):Xlua(1)
- LeetCode - 198 简单动态规划 打家劫舍
- 案例:8,64,256都是2的阶次方数(8是2的3次方),用Java编写程序来判断一个整数是不是2的阶次方数。
- java中Properties类及读取properties中属性值
- pyqt5 窗口无边框和透明
- HDU 5726 GCD(RMQ+二分)