某企业每月给其A、B、C 和D 四个门店一共发送6 个集装箱的某种货物,如果各门店出售该种货物的利润(万元)如下表:

2023-11-03

某企业每月给其A、B、C 和D 四个门店一共发送6 个集装箱的某种货物,如果各门店出售该种货物的利润(万元)如下表:
在这里插入图片描述
试求这6 箱货物如何分配给各门店,才能获得最大总利润。

解题思路:
将问题按卖场分为四个阶段,将A、B、C、D四个卖场分别编号为1、2、3、4。设:状态变量S:表示每月分配给第1个卖场至第4个卖场的货物吨数(k=1,2, 3,4)。
决策变量:表示每月分配给第1个卖场的货物吨数(k=1,2,3,4)。
状态转移方程为:Sk+1+Sk-Xk,即=Sk+1+Xk 。
已知S1=6,S4=X4。
dp(Sk):表示第k阶段的最佳总效果。
r(xk):表示第k阶段取得最佳效果时Xk的取值。

第一阶段
当K=1时
在这里插入图片描述
第二阶段
当K=2时
在这里插入图片描述
第三阶段
当K=3时
在这里插入图片描述
第四阶段
当K=4时
在这里插入图片描述

得到最优表开始逆推 依次取得4表中对应的最大值 r[3][6],r[2][5],r[1][2],r[0][2]
即最优解为A取2 B取2 C取1 D取1 即 6+4+3+4=17(万元)

public class liuzhuangSB {

	public static int[][] s = new int[][] {{0,4,6,7,7,7,7},{0,2,4,6,8,9,10},{0,3,5,7,8,8,8},{0,4,5,6,6,6,6}};
	
	//dp记录每次递推的最大值
	//r记录每次最大值的情况
	//0123行代表A AB ABC ABCD
	public static int[][] dp = new int[4][7];
	public static int[][] r  = new int[4][7];
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//将A赋值给最优情况
		for(int i = 0; i < dp[0].length; i++) {
			dp[0][i] = s[0][i];
			r[0][i] = i;
		}
		//依次对AB ABC ABCD进行递推 得到所有的最优情况表
		for(int z = 1; z < 4; z++) {
			for(int i = 0; i < dp[0].length; i++) {
				int[] temp = new int[7];
				for(int j = 0; j <= i; j++) {
					temp[j] = dp[z-1][i-j]+s[z][j];
					if(temp[j] > dp[z][i]) {
						dp[z][i] = temp[j];
						r[z][i] = j;
					}
				}
			}
		}
		
		//逆推
		int num = 6;
		int nums[] = new int[4];
		while(num!=0) {
			for(int i = 3; i >= 0; i--) {
				nums[i] = r[i][num];
				num -= nums[i];
			}
		}
		System.out.println("取A:"+nums[0]+"个 取B:"+nums[1]+"个 取C:"+nums[2]+"个 取D:"+nums[3]+"个");
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

某企业每月给其A、B、C 和D 四个门店一共发送6 个集装箱的某种货物,如果各门店出售该种货物的利润(万元)如下表: 的相关文章

  • LeetCode:动态规划中的子序列问题

    PS 本文是参考代码随想录做的一些笔记 完整版本请戳链接 非常好的教程 本文列举了一些经典题目 特别是编辑距离 基本上的题目解题思路都是一样的 可以说是一个路子 300 最长递增子序列 给你一个整数数组 nums 找到其中最长严格递增子序列
  • 最长公共上升子序列(LCIS)

    前置知识 LCS LIS 注意 刚开始看这个问题的时候 第一反应是先求出LCS再求出LCS的LIS 事实上这是有问题的 我们并不能保证这么求出的LCIS是最长的 比如下面这个例子 Example a 7 1 5 6 4 2 7 b 7 1
  • LeetCode312. 戳气球 (分治,记忆化搜索,动态规划)

    LeetCode312 戳气球 解题思路 记忆化搜索 动态规划 解题思路 官方题解 参考题解 核心思想 由于戳气球的操作会导致两个气球从不相邻变成相邻 使得后续操作难以处理 于是我们倒过来看这些操作 将全过程看成每次添加一个气球 solve
  • 子串和子序列问题-动态规划向

    1 子串子序列问题概述 有关于子序列和子串的问题是字符串或者数组经常会遇到的问题 一般我们经常使用多指针 滑动窗口 回溯 动态规划的方式去解决 而本篇重点关注能用动态规划解决或者说明显使用动态规划解决的子串问题和子序列问题 1 1 子串 子
  • 数字三角形之动态规划(C语言实现)

    算法步骤 1 首先构造三个数组 第一个是存储三角形初始值的数组data 第二个是存储顶点到该点最大值的res 数组 第三个是存储该点上一个点的loc 数组 这里要对res 数组进行初始化 1 2 按照三角形的层次结构 从上到下 从左到右依次
  • [HDU 5079][2014 Asia AnShan Regional Contest]Square(DP套DP)

    题目链接 http acm hdu edu cn showproblem php pid 5079 题目大意 给你一个 n n n 8 n middot n n le 8 的棋盘 上面有一些格子必须是黑色 其它可以染黑或者染白 对于一个棋盘
  • 【编程之路】面试必刷TOP101:动态规划(67-71,Python实现)

    面试必刷TOP101 动态规划 67 71 Python实现 67 不同路径的数目 一 小试牛刀 67 1 递归 首先我们在左上角第一个格子的时候 有两种行走方式 如果向右走 相当于后面在一个 n 1
  • 备战2023蓝桥国赛-传纸条

    题目描述 解析 这道题想了我好久 一开始我是想假如只走一条路线 从 1 1 走到 m n 这种问题该怎么解决呢 针对这种问题我是设了dp k i j 表示走了k步到达 i j 的好心程度之和的最大值 然后根据这个来写出转移方程来计算 后面就
  • 备战2023蓝桥国赛-饼干

    题目描述 解析 这道题我想了很多种解决方法 但无一例外都失败了 实在是按照常规线性DP的思路真的想不出来 看了题解之后才知道它是分为三步解决这个问题的 第一步 缩小最优解的范围 先用贪心将最优解缩小到某个较小的范围内 再DP求出精确的最优解
  • 代码随想录算法训练营第十九天

    动态规划系列5 6 7 8 377 组合总和 未看解答自己编写的青春版 重点 代码随想录的代码 我的代码 当天晚上理解后自己编写 求排列数的题 用二维DP过不了 自己捋逻辑的话 也是可以觉得有漏洞 但是怎么修改 一下子还没思路 包括后面的
  • C++---背包模型---装箱问题(每日一道算法2023.3.9)

    注意事项 本题是 动态规划 01背包 的扩展题 dp和优化思路不多赘述 题目 有一个箱子容量为 V 同时有 n 个物品 每个物品有一个体积 正整数 要求 n 个物品中 任取若干个装入箱内 使箱子的剩余空间为最小 输入格式 第一行是一个整数
  • 蓝桥杯:斐波那契数列最大公约数

    题目表示的很明确 要用两个算法 斐波那契数列是很经典的dp问题 最大公约数是很经典的辗转相除法 从而我理所应当的就定义一个数组存放斐波那契数列 long long int F 2021 0 F 1 1 F 2 1 for int i 3 i
  • 特殊类型动归--区间动归与环形动归

    区间动归 某类有序事件中前若干个事件的子答案 不能再支撑状态转移 我们需要去寻找 从某个元素起到另一个元素结束所包含所有的 连续 元素的子答案 作为状态 可以想象 在这个描述下 每个状态会对应于原题序列上的一个区间 区间具有良好的性质 短的
  • 学习动态规划-子矩阵

    1 全为1的最大正方形 在一个由 0 和 1 组成的二维矩阵内 找到只包含 1 的最大正方形 并返回其面积 来源 221 最大正方形 解题思路 dp i j 表示以matrix i j 为右下角的全1的正方形的最大边长 很明显 当matri
  • 2023华为OD机试真题【最大平分数组/动态规划】

    题目描述 给定一个数组nums 可以将元素分为若干个组 使得每组和相等 求出满足条件的所有分组中 最大的平分组个数 输入描述 第一行输入 m 接着输入m个数 表示此数组 数据范围 1 lt M lt 50 1 lt nums i lt 50
  • 【LeetCode75】第五十九题 第N个泰波那契数

    目录 题目 示例 分析 代码 题目 示例 分析 题目顾名思义 让我们求出第N个泰波那契数 也就是除了开头三个数之外 第四个数开始就是等于前三个数之和 不要和斐波那契数弄混了 斐波那契是前两个数的和 泰波那契是前三个数的和 也就是说当前数 我
  • 第14届蓝桥杯C++B组省赛

    文章目录 A 日期统计 B 01 串的熵 C 冶炼金属 D 飞机降落 E 接龙数列 F 岛屿个数 G 子串简写 H 整数删除 I 景区导游 J 砍树 今年比去年难好多 Update 2023 4 10 反转了 炼金二分没写错 可以AC了 U
  • 背包九讲-01背包

    动态规划核心思维能力 动态规划是求最优解问题的重要解法 也是信息学奥赛中每年必考的内容之一 学习动态规划更应该注重此类问题思维能力的锻炼 多多做题 一般 gt 50题后方可入门 注意理解以下概念 1 状态 2 状态属性 3 状态的计算 也就
  • acwing算法提高之动态规划--最长上升子序列模型(上)

    目录 1 基础知识 2 模板 3 工程化 1 基础知识 暂无 2 模板 暂无 3 工程化 题目1 怪盗基德的滑翔翼 有N个数 表示房屋的高度 你可以任意选择一个房屋作为起点 选择朝左飞 或者朝右飞 必须严格递减才能够飞到下一个房屋 求经过的
  • 【算法】【动规】最长递增子序列

    跳转汇总链接 动态规划算法汇总链接 2 1 最长递增子序列 题目链接 给你一个整数数组 nums 找到其中最长严格递增子序列的长度 子序列是由数组派生而来的序列 删除 或不删除 数组中的元素而 不改变其余元素的顺序 例如 3 6 2 7 是

随机推荐

  • Tomcat的安装与配置

    Tomcat的安装与配置 一 准备与安装 1 在下载安装tomcat之前请确保计算机上已有java环境 可以通过键盘Windows R 输入cmd 输入java version来确定JDK版本 我使用的是JDK1 8 2 进入Tomcat官
  • 众享比特未来融合研究院执行院长王陈慧子博士以第一作者在IEEE TCSS上发表论文

    近日 众享比特未来融合研究院执行院长王陈慧子博士为第一作者 通讯作者的学术论文 Toward Understanding Attention Economy in Metaverse A Case Study of NFT Value 探究
  • nvidia-smi 无进程占用GPU,但GPU显存却被占用了很多

    下图是我当时遇到的问题 如上图 GPU1 显示占用了10G多的显存 但是却没有相应的进程 此时可使用如下命令查看进程 fuser v dev nvidia 显示如下图 此时把这些进程全部 kill 掉 kill 9 5142 5143 51
  • win10误删的注册表能还原吗_win10注册表删错了怎么办_win10注册表删错东西如何恢复-win7之家...

    我们要知道 注册表是Microsoft Windows中的一个重要的数据库 用于存储系统和应用程序的设置信息 在win10系统中 用户可以通过修改注册表来保证电脑的安全 可是近日有的用户在修改注册表时不小心删错了 那么win10注册表删错了
  • 分页居中显示

    div class page number div div div page number width 100 height 80px padding top 10px text align center page number1 disp
  • 如何阅读芯片手册

    原视频链接 如何快速阅读芯片数据手册 初学者和外行进 1 芯片手册的结构 1 Features 特性 对芯片的特点进行了总结 2 General Description 概述 把芯片的功能进行了一个大概的总结 这部分对新手来说很重要 每一个
  • SDIO接口(4)——SDIO通信

    SDIO通信 SD总线上的通信基于命令和数据位流 这些命令和数据位流由起始位启动 并由停止位终止 SDIO总线上的设置和控制都是通过命令来实现 SDIO总线上都是HOST端发起请求 然后DEVICE端回应请求 其中请求和应答中会包含数据信息
  • 香橙派4和树莓派4B构建K8S集群实践之八: TiDB

    目录 1 说明 2 准备工作 3 安装 3 1 参考Tidb官方 v1 5安装说明 3 2 准备存储类 3 3 创建crd 3 4 执行operator 3 5 创建cluster dashboard monitor容器组 3 6 设置访问
  • Android BottomNavigationView的使用

    BottomNavigationView大于3个menu文字和icon都显示 代码中设置 public static void disableShiftMode BottomNavigationView view int count vie
  • 使用Java对轨迹进行抽稀,并生成mvt(Map Vector Tile)瓦片

    Java对轨迹进行抽稀 并生成mvt线瓦片 1 原理 2 pom依赖 3 Java对轨迹道格拉斯普克抽稀源码 4 Java生成线瓦片源码 参考 1 原理 Java对轨迹抽稀 道格拉斯普克算法 生成mvt瓦片 VectorTileEncode
  • mysql tinyint和char(1)性能对比

    在数据库设计的时候会遇到很多只需要0 1 2这种固定几个值的状态字段 基本上都建议设置为只占一字节的tinyint类型 有些觉得char 1 是一样 毕竟char 1 存储数字和字母时一个字符也只是占一个字节 mysql是用c 写的 而在c
  • 蓝桥杯-小数第n位-2017-国赛

    小数第n位 文章目录 小数第n位 分析 代码 参考材料 题目描述 我们知道 整数做除法时 有时得到有限小数 有时得到无限循环小数 如果我们把有限小数的末尾加上无限多个 0 它们就有了统一的形式 本题的任务是 在上面的约定下 求整数除法小数点
  • VSCode配置之Opencv4x终极奥义

    苦于windows下编译opencv的效率和对于大型软件如Visual Studio 2017 Visual Studio S2019等的不习惯 希望VScode也能够快速 高效编译第三方库 如opencv等 花了大概两天的时间 分析了主流
  • 【Where和having的区别】条件语句where和having有什么不同?

    Where 总之 WHERE 关键字的特点是 直接用表的字段对数据集进行筛选 如果需要通过关联查询从其他的表获取需要的信息 那么执行的时候 也是先通过 WHERE 条件进行筛选 用筛选后的比较小的数据集进行连接 这样一来 连接过程中占用的资
  • iostat 命令

    NAME iostat Report Central Processing Unit CPU statistics and input output statistics for devices partitions and network
  • 计算机组成原理与系统结构期末复习题(2)

    计算机组成原理与系统结构 选择题 1 冯 诺依曼机工作的基本方式的特点是 B A 多指令流单数据流 B 按地址访问并顺序执行指令 C 堆栈操作 D 存贮器按内容选择地址 2 完整的计算机应包括 D A 运算器 存储器 控制器 B 外部设备和
  • VS环境下Qt工程.UI文件不生成头文件的问题

    在VS环境下创建的Qt工程会出现 UI文件不生成头文件的问题 可以通过右击 ui文件 点击编译生成头文件 但是 我创建的工程的 ui文件不能编译 右键编译选项是灰的 这种情况下 我想到的办法是 重新添加一个带UI文件的GUI类 与工程同名
  • openmvg2.0编译与使用

    目录 写在前面 获取代码 github 网盘 编译 使用 稠密重建 参考 完 写在前面 1 openmvg是一个用于实现structure from motion的开源库 实现了完整的sfm pipeline 并有说明文档 https op
  • css文本换行加省略号

    overflow hidden text overflow ellipsis white space nowrap 可以显示的行数 超出部分用 表示 webkit box orient vertical 控制显示行数 webkit line
  • 某企业每月给其A、B、C 和D 四个门店一共发送6 个集装箱的某种货物,如果各门店出售该种货物的利润(万元)如下表:

    某企业每月给其A B C 和D 四个门店一共发送6 个集装箱的某种货物 如果各门店出售该种货物的利润 万元 如下表 试求这6 箱货物如何分配给各门店 才能获得最大总利润 解题思路 将问题按卖场分为四个阶段 将A B C D四个卖场分别编号为