论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
职场与人生
›
IT职场那些事
›
leetcode背包问题拓展(C++)
leetcode背包问题拓展(C++)
拉不拉稀肚拉稀
论坛元老
|
2025-4-17 13:04:52
|
显示全部楼层
|
阅读模式
楼主
主题
1797
|
帖子
1797
|
积分
5393
目次
1.一和零(二维费用的背包问题)
2.盈利操持
3.组合总和IV(似包非包)
4.不同的二叉搜刮树(卡特兰数)
<hr>
1.一和零(二维费用的背包问题)
现在有m个0和n个1,从字符串数组里挑字符串,让全部字符串的0/1加起来分别不超过m/n,返回最多可以挑多少个字符串
什么是二维费用的背包问题?
一维费用指只有一个背包体积作为限制,二维费用指会有 0、1 两个东西作为限制条件
二维费用的背包问题即二维费用的01背包问题
<hr> 1.状态表示
dp
[j][k]:从前i个字符串中选,字符0的个数不超过j,字符1的个数不超过k,全部的选法中最大的字符串个数(是用01背包问题的头脑推得的)
2.状态转移方程
不选str
:0、1 的个数都没变,dp
[j][k] = dp[i-1][j][k]
选str
:假设str
的0个数为a,1个数为b,那么 dp
[j][k] = dp[i-1][j-a][k-b](分析如下图所示),这边要的是字符串个数,以是还必要在整个式子后面 + 1
j >= a && k >= b 是选str
的先决条件
3.初始化
与01背包问题一样, j 、k 不会有数组越界的情况,以是我们只必要考虑 i
三维数组要对 i 、j 、k 都+1,i == 0 时即下图 k 轴与 j 轴所围成的平面(该平面就相当于01背包问题里的第0行全部列)
i == 0 即什么字符串都还没有选,以是把整个平面初始化为0即可
4.填表顺序
只必要保证 i 是从小到大即可(在图上就是由远及近)
5.返回值:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
拉不拉稀肚拉稀
论坛元老
这个人很懒什么都没写!
楼主热帖
c语言学习4
【Atlas 800 训练服务器(型号:9000) ...
Docker 基础 - 3
WinUI3 FFmpeg.autogen解析视频帧,使 ...
IOS OpenGL ES GPUImage 黑白色调模糊 ...
【最新最详细】SQL Server 2019 安装教 ...
第四次打靶
【主流技术】ElasticSearch 在 Spring ...
SQLI-LABS(Less-11、12)
制造型企业的数字化转型离不开 MES 系 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
分布式数据库
PLM
快速回复
返回顶部
返回列表