当前位置: 首页 > news >正文

算法题(226):L国的战斗之间谍

审题:
本题需要我们解决多重限制条件的01背包问题

思路:
方法一:动态规划

本题的每种物品相当于只有一个(01背包),限制条件有两个分别是伪装能力总合小于等于m,消耗钱数小于等于x

(1)状态表示:
f[i][j][k]表示从前i个人中找,在伪装能力总合小于等于m,且总耗费钱数小于等于x的前提下所得到的最多资料

(2)状态转移方程:
情况1:选择第i个人

情况2:不选择第i个人

(3)初始化:

全初始化为0即可

(4)填表顺序:
由于当前节点求值依赖于上一行的节点,所以我们填表的纵向顺序必须是从小到大

(5)答案输出:
直接输出f[n][m][x]即可

(6)空间优化:
由于不进行空间优化会导致超出空间上限,所以这里我们对第一个参数进行优化。

将它从三维降到二维,然后将第二,三层循环的遍历顺序修改为从大到小(防止数据覆盖导致计算出错)

解题:
 

//#include<iostream>
//using namespace std;
//const int N = 110, M = 1010;
//int n, m, x;
//int a[N], b[N], c[N];
//int f[N][M][M];//f[i][j][k]表示从前i个人中找,在伪装能力总合小于等于m,且总耗费钱数小于等于x的前提下所得到的最多资料
//int main()
//{
//	cin >> n >> m >> x;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> a[i] >> b[i] >> c[i];
//	}
//	//填表
//	for (int i = 1; i <= n; i++)
//	{
//		for (int j = 1; j <= m; j++)
//		{
//			for (int k = 1; k <= x; k++)
//			{
//				f[i][j][k] = f[i - 1][j][k];
//				if (j >= b[i] && k >= c[i])
//				{
//					f[i][j][k] = max(f[i][j][k], f[i - 1][j - b[i]][k - c[i]] + a[i]);
//				}
//			}
//		}
//	}
//	//答案输出
//	cout << f[n][m][x] << endl;
//	return 0;
//}
#include<iostream>
using namespace std;
const int N = 110, M = 1010;
int n, m, x;
int a[N], b[N], c[N];
int f[M][M];//f[i][j][k]表示从前i个人中找,在伪装能力总合小于等于m,且总耗费钱数小于等于x的前提下所得到的最多资料
int main()
{cin >> n >> m >> x;for (int i = 1; i <= n; i++){cin >> a[i] >> b[i] >> c[i];}//填表for (int i = 1; i <= n; i++){for (int j = m; j >= b[i]; j--){for (int k = x; k >= c[i]; k--){f[j][k] = max(f[j][k], f[j - b[i]][k - c[i]] + a[i]);}}}//答案输出cout << f[m][x] << endl;return 0;
}

被注释的是非空间优化版本,后面的是空间优化版本

P1910 L 国的战斗之间谍 - 洛谷

http://www.dtcms.com/a/443605.html

相关文章:

  • 网站建设投标文档腾讯云买域名
  • 做图文链接网站社团网站模板
  • 鹤壁网站建设优化包商科技wordpress
  • 长春网站建设优化排名wordpress主题调用插件
  • 自己做网站需不需要钱外贸网络推广网
  • 网站开发有什么职位申请了域名先做网站还是先备案
  • 淘宝支持做微交易网站吗宝安高端网站设计怎么样
  • 潍坊大型做网站建设的公司网页设计与制作教程图文混排
  • 做我女朋友吧网站wamp下安装wordpress
  • 期望最大化(Expectation Maximization,EM)
  • 网站空间大小有什么用课程网站开发背景和意义
  • 马大姐网站建设目的济南网站建设要多少钱
  • yyf做的搞笑视频网站软件开发哪家公司好
  • 国外设计工作室网站建网站那个网最好
  • Podman开始使用
  • flash网站建设商丘市网络优化公司地址
  • 宁波手机网站建设长春建站价格
  • 公司网站建设方案拓扑图做企业宣传网站
  • 假山网站建设宝应建设局网站
  • 织梦网站栏目对应首页网站开发外包公司合同范本
  • 【计算几何 | 数学】向量的妙用(判断线段与圆是否相交 求两条线段交点 点到线段的距离)附例题
  • 网站想建设子站网站的空间怎么查
  • 眉山市住房和城乡建设部网站晋城网络公司做网站的
  • 什么是容器?它比虚拟机强在哪?
  • 系统调用函数——命令行工具readlink
  • 手机电脑网站排名wordpress评论要审核吗
  • 用凡科做网站的费用群晖wordpress修改端口
  • 怎么做网站frontpage天津做手机网站建设
  • 织梦网站内容怎么做付费可见网络工程技术适合女生吗
  • c 做网站怎么发布郑州网站建设包括哪些