算法训练营第四十六天|139.单词拆分 多重背包

目录

  • Leetcode139.单词拆分
  • 多重背包

Leetcode139.单词拆分

文章链接:代码随想录
题目链接:139.单词拆分

思路:完全背包,重点在于状态转移方程的条件。

class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set wordS(wordDict.begin(), wordDict.end());vector<bool> dp(s.size() + 1, 0);dp[0] = true;for (int j = 1; j <= s.size(); j++){for(int i = 0; i < j; i++){string word = s.substr(i, j - i);if (wordS.find(word) != wordS.end() && dp[i]) dp[j] = true;}}return dp[s.size()];}
};

多重背包

文章链接:代码随想录
题目链接:卡码网:56. 携带矿石资源

思路:多重背包问题,将其拆解为01背包即可。

#include<bits/stdc++.h>
using namespace std;void solve(int C, int N){vector<int> dp(C + 1);vector<int> weight(N);vector<int> value(N);vector<int> nums(N);for (int i = 0; i < N; i++) cin >> weight[i];for (int i = 0; i < N; i++) cin >> value[i];for (int i = 0; i < N; i++) cin >> nums[i];for (int i = 0; i < N; i++){for (int j = C; j >= weight[i]; j--){for (int k = 1; k <= nums[i] && j - k * weight[i] >= 0; k++){dp[j] = max(dp[j], dp[j - k * weight[i]] + k * value[i]);}}}cout << dp[C] << endl;
}int main(){int C, N;cin >> C >> N;solve(C, N);return 0;
}

第四十六天打卡,这几天对做项目和学习路线有了新的理解和认识,重点不在看多少,在熟悉和掌握,加油!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【华为鸿蒙】HarmonyOS开发学习:下载与安装软件看这一篇就够了!

下载与安装软件 DevEco Studio 支持 Windows 和 macOS 系统&#xff0c;下面将针对两种操作系统的软件安装方式进行介绍 Windows 环境 运行环境要求 为保证 DevEco Studio 正常运行&#xff0c;建议您的电脑配置满足如下要求&#xff1a;  操作系统&#xff1a;Windows10 …

leetcode 动态规划(爬楼梯、零钱兑换、完全平方数)

70. 爬楼梯&#xff08;进阶版&#xff09; 卡码网&#xff1a;57. 爬楼梯(opens new window) 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 < m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正…

【前后端的那些事】快速上手富文本+富文本图片上传

文章目录 fullText富文本1. 后端接口1.1 定义常量1.2 定义返回实体类1.3 上传图片接口1.4 下载图片接口 2. 前端代码编写2.1 安装2.2 快速使用 3. 配置富文本图片上传地址3.1 配置图片上传配置 4. 全部代码展示 前言&#xff1a;最近写项目&#xff0c;发现了一些很有意思的功能…

RTMP 视频数据封装

RTMP 协议 与HTTP(超文本传输协议)同样是一个基于TCP的Real Time Messaging Protocol(实时消息传输协议)。由Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的一种开放协议 。在国内被广泛的应用于直 播领域。HTTP默认端口为80&#xff0c;RTMP则为1935…

上海AI实验室等开源,音频、音乐统一开发工具包Amphion

上海AI实验室、香港中文大学数据科学院、深圳大数据研究院联合开源了一个名为Amphion的音频、音乐和语音生成工具包。 Amphion可帮助开发人员研究文本生成音频、音乐等与音频相关的领域&#xff0c;可以在一个框架内完成&#xff0c;以解决生成模型黑箱、代码库分散、缺少评估…

蓝桥杯AcWing学习笔记 8-1数论的学习(上)

蓝桥杯 我的AcWing 题目及图片来自蓝桥杯C AB组辅导课 数论&#xff08;上&#xff09; 蓝桥杯省赛中考的数论不是很多&#xff0c;这里讲几个蓝桥杯常考的知识点。 欧几里得算法——辗转相除法 欧几里得算法代码&#xff1a; import java.util.Scanner ;public class Main…

现代火箭发展的一个重要方向是无人火箭技术

现代火箭发展的一个重要方向是无人火箭技术。无人火箭指的是不需要人员操控的火箭系统&#xff0c;可以自主进行发射、飞行、返回和着陆等任务。 在无人火箭发展方面&#xff0c;有以下重要形态和应用&#xff1a; 空间探测&#xff1a;无人火箭可以被用于太空探测任务&#x…

无人驾驶技术在交通领域逐渐成熟

随着技术的不断发展&#xff0c;无人驾驶技术在交通领域逐渐成熟&#xff0c;对于无人站台、无人公交车和无人公交车综合系统的发展也变得越来越重要。以下是这些系统的重要发展形势&#xff1a; 无人站台&#xff1a;无人站台可以提供自动售票、乘客导航和安全监控等功能&…

Gradle的安装及换源详解

Gradle是一种自动化构建工具&#xff0c;基于Apache Ant和Apache Maven的概念。以下是Gradle的安装步骤和换源方法&#xff1a; 下载安装包&#xff1a;可以从官网下载Gradle的安装包。为了避免官网下载速度慢&#xff0c;也可以通过腾讯的镜像地址进行下载。例如&#xff0c;…

解决Android Studio Unexpected tokens (use ; to separate expressions on the same line)

[TOC](Unexpected tokens (use ; to separate expressions on the same line)) 问题描述&#xff1a;Unexpected tokens (use ; to separate expressions on the same line) 原因&#xff1a;Android Studio 更新到最新的版本之后&#xff0c;gradle工程目录结构发生改变 问…

【华为鸿蒙】HarmonyOS概述:技术特性

来源&#xff1a;HarmnyOS 官网 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/harmonyos-features-0000000000011907 技术特性 硬件互助&#xff0c;资源共享 多种设备之间能够实现硬件互助、资源共享&#xff0c;依赖的关键技术包括分布式软总线、分布…

Vant-ui图片懒加载

核心代码 在你的全局顶部引入和初始化 Vue.use(vant.Lazyload, {loading: /StaticFile/img/jiazai.jpg,error: /StaticFile/img/jiazai.jpg,lazyComponent: false, });//图片懒加载 <img v-lazy"https://img-blog.csdnimg.cn/direct/3d2c8a7e2c0040488a8128c3e381d58…

CenOS系统软件依赖包安装常见命令

sudo yum --excludekernel* --excludecentos-release* -y update 这个命令的含义是使用sudo权限运行yum命令&#xff0c;通过更新软件包来升级系统。 具体选项的解释如下&#xff1a; --excludekernel*&#xff1a;排除以"kernel"开头的所有软件包&#xff0c;即不…

8.云原生存储之Ceph集群

1. 私有云实战之基础环境搭建 2. 云原生实战之kubesphere搭建 3.云原生之kubesphere运维 4. 云原生之kubesphere基础服务搭建 5.云原生安全之kubesphere应用网关配置域名TLS证书 6.云原生之DevOps和CICD 7.云原生之jenkins集成SonarQube 8.云原生存储之Ceph集群 文章目录 为什么…

DynastyPersist:一款功能强大的Linux持久化安全审计与测试工具

关于DynastyPersist DynastyPersist是一款专为红队研究人员和CTF玩家设计的Linux安全测试工具&#xff0c;该工具可以适用于各种安全评估任务和安全测试场景。 DynastyPersist本质上是一个Linux持久化脚本&#xff0c;并提供了大量的安全测试功能&#xff0c;可以为我们展示在…

Java多线程并发篇----第十一篇

系列文章目录 文章目录 系列文章目录前言一、什么是悲观锁二、什么是自旋锁三、Synchronized 同步锁前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、什么是悲观…

【大数据架构】日志采集方案对比

整体架构 日志采集端 Flume Flume的设计宗旨是向Hadoop集群批量导入基于事件的海量数据。系统中最核心的角色是agent&#xff0c;Flume采集系统就是由一个个agent所连接起来形成。每一个agent相当于一个数据传递员&#xff0c;内部有三个组件&#xff1a; source: 采集源&…

json类型转换对象含有泛型

接受数据的对象1 public class Student<T> {/*** 学号*/private String studentNumber;public String getStudentNumber() {return studentNumber;}public void setStudentNumber(String studentNumber) {this.studentNumber studentNumber;}public String getStudentN…

Unity中URP下实现深度贴花(雾效支持和BRP适配)

文章目录 前言一、让我们的贴画支持雾效1、我们舍弃内部的MixFog方法2、使用 雾效混合因子 对最后输出颜色进行线性插值相乘 二、在Shader中&#xff0c;限制贴花纹理的采样方式1、申明 纹理 和 限制采样方式的采样器2、在片元着色器进行纹理采样 三、BRP适配1、C#脚本中&#…

贪心算法的“左最优“与“右最优“及其对应的堆处理和预处理方法

1 答疑 1.1 什么是贪心算法的"左最优"与"右最优" "左最优"和"右最优"是贪心算法中的两种策略&#xff1a; 左最优 (Leftmost Greedy): 在每一步选择中&#xff0c;总是选择最左边&#xff08;最早出现的&#xff09;可行的选项。 右…