C++--动态规划其他问题
1.一和零 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
给你一个二进制字符串数组
strs和两个整数m和n。请你找出并返回
strs的最大子集的长度,该子集中 最多 有m个0和n个1。如果
x的所有元素也是y的元素,集合x是集合y的 子集 。示例 1:
输入:strs = ["10", "0001", "111001", "1", "0"], m = 5, n = 3 输出:4 解释:最多有 5 个 0 和 3 个 1 的最大子集是 {"10","0001","1","0"} ,因此答案是 4 。 其他满足题意但较小的子集包括 {"0001","1"} 和 {"10","1","0"} 。{"111001"} 不满足题意,因为它含 4 个 1 ,大于 n 的值 3 。示例 2:
输入:strs = ["10", "0", "1"], m = 1, n = 1 输出:2 解释:最大的子集是 {"0", "1"} ,所以答案是 2。
class Solution {
public:int findMaxForm(vector<string>& strs, int m, int n) {int len=strs.size();vector<vector<int>> dp(m+1,vector<int>(n+1));for(int i=1;i<=len;i++){int a=0;int b=0;for(auto sh:strs[i-1]){if(sh=='0') a++;else b++;}for(int j=m;j>=0;j--){for(int k=n;k>=0;k--){dp[j][k]=dp[j][k];if(j>=a&&k-b>=0) dp[j][k]=max(dp[j][k],dp[j-a][k-b]+1);}}}return dp[m][n];}
};
2.盈利计划 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
集团里有
n名员工,他们可以完成各种各样的工作创造利润。第
i种工作会产生profit[i]的利润,它要求group[i]名成员共同参与。如果成员参与了其中一项工作,就不能参与另一项工作。工作的任何至少产生
minProfit利润的子集称为 盈利计划 。并且工作的成员总数最多为n。有多少种计划可以选择?因为答案很大,所以 返回结果模
10^9 + 7的值。示例 1:
输入:n = 5, minProfit = 3, group = [2,2], profit = [2,3] 输出:2 解释:至少产生 3 的利润,该集团可以完成工作 0 和工作 1 ,或仅完成工作 1 。 总的来说,有两种计划。示例 2:
输入:n = 10, minProfit = 5, group = [2,3,5], profit = [6,7,8] 输出:7 解释:至少产生 5 的利润,只要完成其中一种工作就行,所以该集团可以完成任何工作。 有 7 种可能的计划:(0),(1),(2),(0,1),(0,2),(1,2),以及 (0,1,2) 。
class Solution {const int MOD = 10 ^ 9 + 7;
public:int profitableSchemes(int n, int m, vector<int>& g, vector<int>& p){int len = g.size();vector<vector<int>> dp(n + 1, vector<int>(m + 1));for (int j = 0; j <= n; j++) dp[j][0] = 1;for (int i = 1; i <= len; i++){for (int j = n; j>=g[i-1]; j--){for (int k=m; k >=0; k--){dp[j][k] += dp[j - g[i - 1]][max(0, k - p[i - 1])];dp[j][k]%=1000000007;}}}return dp[n][m];}
};
3.组合总和4 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
给你一个由 不同 整数组成的数组
nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。题目数据保证答案符合 32 位整数范围。
示例 1:
输入:nums = [1,2,3], target = 4 输出:7 解释: 所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1) 请注意,顺序不同的序列被视作不同的组合。示例 2:
输入:nums = [9], target = 3 输出:0
class Solution {
public:int combinationSum4(vector<int>& nums, int target) {int n=nums.size();vector<double> dp(target+1);dp[0]=1;//初始化for(int i=1;i<=target;i++){for(int j=0;j<n;j++){if(i-nums[j]>=0)dp[i]+=dp[i-nums[j]];}}return dp[target];}
};
4.不同的二叉搜索树 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
给你一个整数
n,求恰由n个节点组成且节点值从1到n互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。示例 1:
输入:n = 3 输出:5示例 2:
输入:n = 1 输出:1
class Solution {
public:int numTrees(int n) {vector<int> dp(n+1);dp[0]=1;for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){dp[i]+=dp[j-1]*dp[i-j];}}return dp[n];}
};
相关文章:
C++--动态规划其他问题
1.一和零 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素࿰…...
PostgreSQL 查询语句大全
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
扫盲:常用NoSQL数据库
前言 关系型数据库产品很多,如 MySQL、Oracle、Microsoft SQL Sever 等,但它们的基本模型都是关系型数据模型。 非关系型数据库又称为:NoSQL ,没有统一的模型,而且是非关系型的。 常见的 NoSQL 数据库包括键值数据库、…...
MPI之数据打包和解包
MPI_Pack 和 MPI_Unpack 它们可以将源数据打包成二进制格式以便于传输,或者将二进制格式的数据解包成目标数据。这对函数通常用于在 MPI 应用程序中进行异构系统间的通信,即两个系统之间使用不同的二进制格式进行交互通信。 打包(序列化&…...
9.2作业
QT实现闹钟 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTimerEvent> #include<QDateTime> #include<QLineEdit> #include<QLabel> #include<QPushButton> #include <QTextToSpeech> QT_BEGIN_NAMES…...
数据库建设命名规范
1、数据库库表命名规范 1.1 数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线_组成,命名简洁明确,多个单词用下划线_分隔,一个项目一个数据库,多个项目慎用同一个数据库全部小写命名,禁止出现大…...
单元测试及其工具Junit
1.单元测试是什么 单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。 单元测试是软件测试的一种…...
Multicast IP Interface
该模块通过多播IPv4和IPv6在UDP上实现CAN和CAN FD消息的传输。此虚拟接口允许在多个进程甚至主机之间进行通信。这与虚拟接口不同,虚拟接口只能在单个进程中传递消息,但不需要网络堆栈。 它在UDP上运行以具有尽可能低的延迟(与使用TCP相反),并且因为正常的IP多播本质上是…...
从零学算法2833
2833.给你一个长度为 n 的字符串 moves ,该字符串仅由字符 ‘L’、‘R’ 和 ‘’ 组成。字符串表示你在一条原点为 0 的数轴上的若干次移动。 你的初始位置就在原点(0),第 i 次移动过程中,你可以根据对应字符选择移动方…...
python安装cfg模块时报错,ERROR: No matching distribution found for cfg
使用pip3 install cfg2 才行 pip3 install cfg2...
优思学院|六西格玛中的概率分布有哪些?
为什么概率分布重要? 概率分布是统计学中一个重要的概念,它帮助我们理解随机变量的分布情况以及与之相关的概率。在面对具体问题时,了解概率分布可以帮助我们选择适当的检验或分析策略,以解决问题并做出合理的决策。 常见的概率…...
工控上位机程序为什么只能用C语言?
工控上位机程序并不只能用C#开发,实际上在工业自动化领域中,常见的上位机开发语言包括但不限于以下几种:C#: C#是一种常用的编程语言,在工控领域中被广泛使用。它具有良好的面向对象特性和丰富的类库支持,可以实现高性…...
Go操作各大消息队列教程(RabbitMQ、Kafka)
Go操作各大消息队列教程 1 RabbitMQ 1.1 概念 ①基本名词 当前市面上mq的产品很多,比如RabbitMQ、Kafka、ActiveMQ、ZeroMQ和阿里巴巴捐献给Apache的RocketMQ。甚至连redis这种NoSQL都支持MQ的功能。 Broker:表示消息队列服务实体Virtual Host&#x…...
对话出海企业:2023亚马逊云科技出海日圆桌论坛
在全球经济亟待复苏的今天,持续对外开放是中国未来经济发展重要的“两条腿”之一。在愈发饱和的国内市场,中国企业需要对外寻找全新机遇才能在未来不确定的市场博弈下生存下去。“出海”,也成为近几年最炙手可热的词汇之一,大量中…...
【图解算法数据结构】分治算法篇 + Java代码实现
文章目录 一、重建二叉树二、数值的整数次方三、打印从 1 到最大的 n 位数四、二叉搜索树的后序遍历序列五、数组中的逆序对 一、重建二叉树 public class Solution {int[] preorder;HashMap<Integer, Integer> dic new HashMap<>();public TreeNode buildTree(in…...
Ubuntu系统环境搭建(八)——Ubuntu开机自动执行命令
ubuntu环境搭建专栏🔗点击跳转 Ubuntu系统环境搭建(八)——Ubuntu开机自动执行命令 修改文件 vim /etc/rc.local以自启动mysql为例,在文件末尾添加 /usr/local/mysql8/bin/mysqld_safe --defaults-file/usr/local/etc/my.cnf …...
c++(8.29)auto关键字,lambda表达式,数据类型转换,标准模板库,list,文件操作+Xmind
作业: 封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至少3个) 再把该容器中的对象,保存到文件中。 再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。…...
Docker学习笔记(持续更新)
Docker学习目录 1.基础1.1 Docker简介1.1.1 Why Docker?1.1.2 Docker理念1.1.3 容器与虚拟机1.1.4 Docker能做什么? 1.2 Docker的基本组成1.2.1 Docker的三要素1.2.2 Docker平台架构 1.基础 1.1 Docker简介 1.1.1 Why Docker? 在个人笔记本…...
无涯教程-Android - 应用组件
应用程序组件是Android应用程序的基本组成部分,这些组件需要在应用程序清单文件 AndroidManifest.xml 注册,该文件描述了应用程序的每个组件以及它们如何交互。 Android应用程序可以使用以下四个主要组件- Sr.NoComponents & 描述1 Activities 它们…...
树与图c++
1.树 前言 本文主要介绍的数据结构之树型结构的相关知识,树型数据结构是面试官面试的时候非常喜欢考的一种数据结构,树形结构的遍历也是大厂笔试非常喜欢设置的考点,这些内容都会在本篇文章中进行详细的介绍,并且还会介绍一些常…...
数据库优化:高效查询GUID的技巧
在日常的数据库操作中,如何高效地查询数据是一个永恒的话题。特别是当我们处理大型数据集和需要在文本字段中查找特定模式(如GUID)时,查询效率显得尤为关键。今天,我将分享一种优化查询GUID的方法,帮助你从长达数小时的查询时间中解脱出来。 背景 假设我们有一个数据库…...
LightRAG架构解析:从图索引到双层检索的工程实现
1. LightRAG架构概览:为什么需要双层检索? 在传统RAG系统中,我们常常遇到两个核心痛点:信息碎片化和上下文缺失。想象一下,当你问"电动汽车的普及对城市空气质量有何影响"时,传统系统可能分别检索…...
GyroFlow:用陀螺仪数据重塑视频稳定技术
GyroFlow:用陀螺仪数据重塑视频稳定技术 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow 在数字影像创作领域,画面稳定性直接决定作品专业度。无论是运动相机拍…...
PROJECT MOGFACE与Dify平台集成:快速构建无需编码的AI智能体应用
PROJECT MOGFACE与Dify平台集成:快速构建无需编码的AI智能体应用 最近在折腾AI应用开发的朋友,可能都有过类似的烦恼:手头有一个效果不错的模型,比如我们团队部署的PROJECT MOGFACE,想把它变成一个能对外服务的、功能…...
LFM2.5-1.2B-Thinking-GGUF开源生态初探:与Ollama等工具的对比与集成
LFM2.5-1.2B-Thinking-GGUF开源生态初探:与Ollama等工具的对比与集成 1. 开源大模型本地部署生态概览 近年来,开源大模型本地部署工具呈现百花齐放的局面。从早期的单一模型加载器,发展到如今功能丰富的模型管理生态系统,开发者…...
Guohua Diffusion 创意编程:用Processing可视化交互控制图像生成
Guohua Diffusion 创意编程:用Processing可视化交互控制图像生成 你有没有想过,自己随手画的一条线、选择的一个颜色,能立刻变成一幅由AI生成的完整画作?这听起来像是科幻电影里的场景,但现在,通过一点创意…...
为什么MedNeXt能超越Transformer?揭秘大卷积核在医学图像分割中的独特优势
MedNeXt如何用大卷积核重塑医学图像分割?技术优势全解析 当你在深夜的医院影像科,看着屏幕上模糊的CT扫描图,试图从那些灰度渐变中分辨出肿瘤边界时,是否会想过AI模型眼中的世界?医学图像分割——这个决定患者治疗方案…...
西门子PLC存储区全解析:从M区到DB块的实战避坑指南
西门子PLC存储区全解析:从M区到DB块的实战避坑指南 第一次接触西门子PLC编程时,面对M区、L区和DB块这些存储区概念,我完全摸不着头脑。记得有次调试设备,明明在线监控看到M0.0已经置位,但程序就是不执行相应动作&#…...
Z-Image-GGUF中文支持实测:古风建筑、水墨山水、国潮设计等本土化效果展示
Z-Image-GGUF中文支持实测:古风建筑、水墨山水、国潮设计等本土化效果展示 1. 引言:当AI绘画遇上东方美学 最近在测试各种文生图模型时,我发现了一个挺有意思的现象:很多国外开发的AI绘画工具,在处理中国传统文化元素…...
告别CTex!TeX Live+Texstudio组合安装避坑指南(Windows/Mac双平台)
告别CTex!TeX LiveTexstudio组合安装避坑指南(Windows/Mac双平台) 如果你曾经使用过CTex套装,可能会被其"开箱即用"的便利性所吸引。但当你需要跨平台协作或追求更灵活的定制时,TeX LiveTexstudio的组合无疑…...
