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

【算法提高:动态规划】1.4 状态机模型 TODO

文章目录

  • 例题列表
    • 1049. 大盗阿福(其实就是打家劫舍)
    • 1057. 股票买卖 IV(k笔交易)
    • 1058. 股票买卖 V(冷冻期)
    • 1052. 设计密码⭐⭐⭐🚹🚹🚹(TODO)
    • 1053. 修复DNA🚹🚹🚹🚹🚹(TODO)

例题列表

1049. 大盗阿福(其实就是打家劫舍)

https://www.acwing.com/activity/content/problem/content/1287/
在这里插入图片描述

就是 打家劫舍 那道题。

对当前的房间选择 抢 或者 不抢。

import java.io.BufferedInputStream;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sin = new Scanner(new BufferedInputStream(System.in));int t = sin.nextInt();while (t-- != 0) {int n = sin.nextInt();int second = 0, pre = sin.nextInt();for (int i = 1; i < n; ++i) {int temp = pre;pre = Math.max(pre, second + sin.nextInt());second = temp;}System.out.println(pre);}}
}

1057. 股票买卖 IV(k笔交易)

https://www.acwing.com/problem/content/1059/

在这里插入图片描述

dp 数组多开一维表示第几笔交易就好了。

import java.io.BufferedInputStream;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sin = new Scanner(new BufferedInputStream(System.in));int n = sin.nextInt(), k = sin.nextInt();int[] prices = new int[n];for (int i = 0; i < n; ++i) prices[i] = sin.nextInt();int[][] buy = new int[n][k], sell = new int[n][k];Arrays.fill(buy[0], -prices[0]);for (int i = 1; i < n; ++i) {buy[i][0] = Math.max(buy[i - 1][0], -prices[i]);sell[i][0] = Math.max(sell[i - 1][0], buy[i - 1][0] + prices[i]);for (int j = 1; j < k; ++j) {buy[i][j] = Math.max(buy[i - 1][j], sell[i - 1][j - 1] - prices[i]);sell[i][j] = Math.max(sell[i - 1][j], buy[i - 1][j] + prices[i]);}}System.out.println(sell[n - 1][k - 1]);}
}

1058. 股票买卖 V(冷冻期)

https://www.acwing.com/problem/content/1060/
在这里插入图片描述

限制 buy[i] 只能从 sell[i - 2] 转移过来就好了。

import java.io.BufferedInputStream;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sin = new Scanner(new BufferedInputStream(System.in));int n = sin.nextInt();int[] buy = new int[n], sell = new int[n], prices = new int[n];for (int i = 0; i < n; ++i) prices[i] = sin.nextInt();buy[0] = -prices[0];buy[1] = Math.max(buy[0], -prices[1]);sell[1] = Math.max(sell[0], buy[0] + prices[1]);for (int i = 2; i < n; ++i) {buy[i] = Math.max(sell[i - 2] - prices[i], buy[i - 1]);sell[i] = Math.max(buy[i - 1] + prices[i], sell[i - 1]);}System.out.println(sell[n - 1]);}
}

1052. 设计密码⭐⭐⭐🚹🚹🚹(TODO)

https://www.acwing.com/activity/content/problem/content/1290/

在这里插入图片描述
|T| + 1 个状态自动机。

在这里插入代码片

1053. 修复DNA🚹🚹🚹🚹🚹(TODO)

https://www.acwing.com/activity/content/problem/content/1291/

在这里插入图片描述

在这里插入代码片

相关文章:

【算法提高:动态规划】1.4 状态机模型 TODO

文章目录 例题列表1049. 大盗阿福&#xff08;其实就是打家劫舍&#xff09;1057. 股票买卖 IV&#xff08;k笔交易&#xff09;1058. 股票买卖 V&#xff08;冷冻期&#xff09;1052. 设计密码⭐⭐⭐&#x1f6b9;&#x1f6b9;&#x1f6b9;&#xff08;TODO&#xff09;1053…...

ip link add 命令

ip link add veth0 type veth peer name veth1 这条命令主要用于在 Linux 操作系统中创建一个新的 veth(虚拟以太网) 对&#xff0c;这是一种虚拟网络设备&#xff0c;用于在 Linux 命名空间&#xff08;namespaces&#xff09;之间创建网络连接。此命令将创建两个设备&#xf…...

unity事件处理

方法调用 //发送事件 【发送事件码&#xff0c;发送消息内容】 EventCenterUtil.Broadcast(EventCenterUtil.EventType.Joystick, ui);//监听无参事件 EventCenterUtil.AddListener(EventCenterUtil.EventType.Joystick, show); public void show(){}//发送事件 有参事件 Eve…...

《ChatGPT原理最佳解释,从根上理解ChatGPT》

【热点】 2022年11月30日&#xff0c;OpenAI发布ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c; 即聊天机器人程序 &#xff0c;开启AIGC的研究热潮。 ChatGPT是人工智能技术驱动的自然语言处理工具&#xff0c;它能够…...

大数据Flink(五十):流式计算简介

文章目录 流式计算简介 一、数据的时效性 二、流式计算和批量计算...

13-4_Qt 5.9 C++开发指南_基于QWaitCondition 的线程同步_Wait

在多线程的程序中&#xff0c;多个线程之间的同步实际上就是它们之间的协调问题。例如上一小节讲到的3个线程的例子中&#xff0c;假设 threadDAQ 写满一个缓冲区之后&#xff0c;threadShow 和 threadSaveFile 才能对缓冲区进行读操作。前面采用的互斥量和基于 OReadWriteLock…...

STM32(HAL)多串口进行重定向(printf函数发送数据)

目录 1、简介 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 串口外设配置 2.3 项目生成 3、KEIL端程序整合 4、效果测试 1、简介 在HAL库中&#xff0c;常用的printf函数是无法使用的。本文通过重映射实现在HAL库多个串口可进行类似printf函数的操作。 2.1 基础配置 2.…...

29_互联网(The Internet)(IP数据包;UDP;TCP;DNS;OSI)

上篇介绍了计算机网络的基础知识&#xff0c;也提到互联网&#xff08;The Internet&#xff09;&#xff0c;本篇将会详细介绍互联网&#xff08;The Internet&#xff09;。 文章目录 1. 互联网&#xff08;The Internet&#xff09;组成及数据包传输过程2. IP 数据包的不足3…...

xShell常用命令

xShell常用命令 一、文件夹目录1、cd-更改目录2、mkdir-建立目录3、rm-删除目录4、pwd-查看当前路径5、rmdir-删除空目录 二、文件操作1、cat-显示文件内容2、diff-比较文件内容3、查看文件的名字和后缀4、ls-列出文件5、cp-复制文件6、mv-移动和重命名文件找不同&#xff1a;选…...

React性能优化之Memo、useMemo

文章目录 React.memo两种方式参数应用场景 拓展useMemouseMemo(calculateValue, dependencies) 参考资料 React.memo React 的渲染机制&#xff0c;组件内部的 state 或者 props 一旦发生修改&#xff0c;整个组件树都会被重新渲染一次&#xff0c;即时子组件的参数没有被修改&…...

IDEA开启并配置services窗口

前言&#xff1a; 一般一个spring cloud项目中大大小小存在几个十几个module编写具体的微服务项目。此时&#xff0c;如果要调试测需要依次启动各个项目比较麻烦。 方法一&#xff1a; 默认第一次打开项目的时候&#xff0c;idea会提示是否增加这个选项卡&#xff0c;如果你没…...

vue2企业级项目(三)

vue2企业级项目&#xff08;三&#xff09; 引入mockjs&#xff0c;i18n 1、mockjs 项目下载依赖 npm install --save-dev mock根目录创建mock文件夹&#xff0c;并创建mock/index.js import Mock from "mockjs";// 设置全局延时 没有延时的话有时候会检测不到数据…...

QT 在label上透明绘图

一、新建TransparentDemo工程 二、在界面上添加label&#xff0c;修改样式表&#xff0c;将底色置为红色&#xff0c;作为北京 三、新建一个TransparentLabel类&#xff0c;继承自QLabel 此时&#xff0c;工程包括文件 五、在transparentlabel.h中添加 头文件 #include …...

SAM(Segment Anything)大模型论文汇总

A Comprehensive Survey on Segment Anything Model for Vision and Beyond 论文&#xff1a;https://arxiv.org/abs/2305.08196 25页综述&#xff0c;198篇参考文献&#xff01;52个开源项目&#xff01;本文第一个全面回顾了分割一切模型(SAM)的研究和应用进展&#xff0c;…...

金融翻译难吗,如何做好金融翻译?

我们知道&#xff0c;金融翻译涉及企业经济这块的&#xff0c;是影响各公司发展很重要的一方面&#xff0c;翻译做得好&#xff0c;可以促进公司内外的交流&#xff0c;及时掌握各种信息&#xff0c;做好应对。那么&#xff0c;金融翻译难吗&#xff0c;如何做好金融翻译&#…...

Java面试题(Tomcat与Nginx)

Tomcat 什么是Tomcat&#xff1f; 简单来说是一个运行Java的网络服务器&#xff0c;也是jsp和serlvet的一个容器 Tomcat的缺省端口是多少&#xff0c;怎么修改? conf文件夹下修改server.xml文件 <Connector connectionTimeout"20000" port"8080" p…...

React-使用mobx

React 中使用 mobx 配置开发环境 安装mobx和中间件工具 mobx-react-lite 只能函数组件中使用 yarn add mobx mobx-react-lite初始化 mobx 定义数据状态 state在构造器中实现数据响应式处理 makeAutoObservble定义修改数据的函数 action实例化 store 并导出 import { compute…...

LeetCode ACM模式——哈希表篇(一)

刷题顺序及部分思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 部分思路来源于力扣官方题解&#xff0c;作者主页&#xff1a;https://leetcode.cn/u/leetcode-solution/ 242. 有效的字母异位词 给定两个字符串 s 和 t &#xff0c;编写一个…...

WPF实战学习笔记31-登录界面全局通知

UI添加消息聚合器 <md:Snackbarx:Name"LoginSnakeBar"Grid.ColumnSpan"2"Panel.ZIndex"1"MessageQueue"{md:MessageQueue}" />注册提示消息 文件&#xff1a;Mytodo.Views.LoginView.cs构造函数添加内容 //注册提示消息 aggre…...

通用商城项目(中)

金山编译器出问题了。下面段落标号全出问题了&#xff0c;排版也出问题了。懒得改了。 使用对象存储OSS&#xff0c;保存品牌logo 新建Module&#xff0c;提供上传、显示服务 有些不明所以的&#xff0c;按照steinliving-commodity配置了一通pom.xml 新建application.yml&…...

从CineCamera到硬盘:UE中RenderTarget图像捕获与导出全流程解析

1. 从CineCamera到硬盘&#xff1a;RenderTarget图像捕获与导出全流程 在虚幻引擎&#xff08;UE&#xff09;开发中&#xff0c;经常需要将CineCamera相机拍摄的高质量画面保存为图片文件。无论是用于过场动画截图、后期处理还是游戏内截图功能&#xff0c;掌握RenderTarget的…...

抖音无水印视频下载终极指南:5分钟快速上手douyin-downloader

抖音无水印视频下载终极指南&#xff1a;5分钟快速上手douyin-downloader 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

终极指南:4步让旧Mac运行最新macOS的完整教程

终极指南&#xff1a;4步让旧Mac运行最新macOS的完整教程 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为你的老Mac无法升级最新系统而烦恼吗&#xff…...

AI插件模拟开发:从Claude假插件项目学习本地测试与安全研究

1. 项目概述&#xff1a;一个“伪装”的Claude插件仓库 最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的仓库&#xff0c;名字叫 fake-claude-plugins 。光看这个标题&#xff0c;就让人忍不住想点进去看看葫芦里卖的什么药。这个项目由用户 Surendrakumawat992892 创…...

宠物洗衣机推荐哪款性价比高?618十款性价比高的宠物洗衣机品牌大盘点!希亦/小吉等型号解密~

​家里养宠的都懂&#xff0c;宠物窝垫、小毯子、口水巾、外出衣物&#xff0c;日常清洗又麻烦又容易滋生细菌异味&#xff0c;手洗费劲&#xff0c;普通洗衣机混洗还不卫生。618家电选购季临近&#xff0c;不少铲屎官都在纠结怎么选一台靠谱的宠物专用洗衣机。今天就给大家深度…...

Prompster:开源提示词管理工具部署与工程化实践指南

1. 项目概述与核心价值最近在折腾AI应用开发&#xff0c;特别是围绕提示词工程和智能体构建&#xff0c;发现了一个挺有意思的GitHub项目——LucasAschenbach/prompster。这名字起得挺直白&#xff0c;Prompster&#xff0c;一看就知道跟“提示词”脱不了干系。简单来说&#x…...

别只看参数!手把手教你用正点原子DS100抓取并分析PWM波形(附数据导出教程)

别只看参数&#xff01;手把手教你用正点原子DS100抓取并分析PWM波形&#xff08;附数据导出教程&#xff09; 在嵌入式开发中&#xff0c;PWM信号调试是每个工程师都会遇到的场景。无论是电机控制、LED调光还是通信解码&#xff0c;精准捕获和分析PWM波形都是项目成败的关键。…...

PyTorch进阶教程:从模型部署到工程化实战全解析

1. 项目概述与核心价值最近在深度学习社区里&#xff0c;一个名为“TingsongYu/PyTorch-Tutorial-2nd”的项目引起了我的注意。作为一名在算法工程领域摸爬滚打了多年的从业者&#xff0c;我深知对于初学者和希望系统进阶的开发者来说&#xff0c;一份结构清晰、内容扎实、且能…...

AI应用开发利器:Prompster提示词管理库的设计与实践

1. 项目概述&#xff1a;一个为AI应用开发者准备的提示词管理利器如果你正在开发基于大语言模型&#xff08;LLM&#xff09;的应用&#xff0c;无论是聊天机器人、内容生成工具&#xff0c;还是复杂的AI工作流&#xff0c;那么你一定对“提示词工程”这个词深有体会。从最初的…...

WordPress至PageAdmin CMS跨平台迁移技术指南:应对环境约束的系统化过渡方案

对于许多依赖WordPress的国内站长而言&#xff0c;核心痛点往往不在于WordPress本身的功能或性能——作为全球使用率最高的CMS&#xff0c;其生态成熟度毋庸置疑。真正的挑战来自外部环境&#xff1a;WordPress核心更新、插件商店及主题库的服务器位于海外&#xff0c;频繁遭遇…...