博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1855 【榨取kkksc03】题解
阅读量:4466 次
发布时间:2019-06-08

本文共 673 字,大约阅读时间需要 2 分钟。

思路:DP,01背包

------------

这道题目可以说是一道裸的 01背包,唯一的不同仅仅只是将原来的一维改成了两维。我不明白为什么是一道 普及/提高- 的题,所以在评分时评了普及-。

对于每一个愿望,只有两种选择:要么满足,要么不满足。然后 01背包跑一遍就 AC 了。

$ \rm code $

# include 
using namespace std;# define maxM 205int n, m, t, dp[maxM][maxM]; //定义 dp 数组int main() { cin >> n >> m >> t; for(int i = 1, x, y; i <= n; ++i) { //为了方便,省去了两个数组,直接边读边做 cin >> x >> y; for(int j = m; j >= x; --j) for(int k = t; k >= y; --k) //注意!里层和中层的两个循环必须是倒序的,否则就变成了完全背包! dp[j][k] = max(dp[j][k], dp[j - x][k - y] + 1); //要么不满足,要么满足 } cout << dp[m][t] << endl; //最后输出最大值即可 return 0;}

 

转载于:https://www.cnblogs.com/Xray-luogu/p/10993008.html

你可能感兴趣的文章
Windows双系统
查看>>
Microsoft Project项目管理工具
查看>>
软件设计师-算法
查看>>
小米手机安装Google框架
查看>>
honpeyhonepy
查看>>
netaddr网络地址工具python
查看>>
OSI7层模型和网络排错、网络安全
查看>>
hash文件-对文件进行数字签名
查看>>
TCP_Wrappers基础知识介绍
查看>>
Central Post Office (Shiraz University Local Contest 2011 ) 树状dp
查看>>
51Nod - 1031 骨牌覆盖
查看>>
回顾环信使用
查看>>
JavaScript--函数对象的属性caller与callee
查看>>
特殊字符大全
查看>>
SQL - SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)[转]...
查看>>
《learning hard C#学习笔记》读书笔记(20)异步编程
查看>>
动态创建Struct实例
查看>>
Jsp通过JDBC连接到SQL Server2008数据库遇到的几个问题
查看>>
idea 不能编译生成class文件
查看>>
javascript原生百叶窗
查看>>