国庆集训day1~2笔记-动态规划

news/2025/10/27 0:38:31/文章来源:https://www.cnblogs.com/jiangzhuang/p/19167674

国庆集训 Day 1~2 笔记 - 动态规划

DP 时间复杂度计算:状态数 $\times$ 决策数 $\times$ 转移代价

序列型 DP

最长上升子序列

B3637 最长上升子序列 - 洛谷

  • $O(n^2)$ 解法:$f_i = \max{f_j + 1}$,其中 $a_j < a_i$
  • $O(n \log n)$ 解法:二分优化转移或树状数组

划分型 DP

一般状态:$f_{i,j}$ 表示前 $i$ 个数分 $j$ 组

数的划分

[P1025 NOIP2001 提高组] 数的划分 - 洛谷

题目:将 $N$ 分为 $K$ 个数,不考虑顺序(即 $1,2,1$ 与 $1,1,2$ 为同一种情况)

  • $f_{i,k,x}$ 表示 $i$ 分为 $k$ 个数,其中最大值为 $x$
  • $f_{i,k,x} += f_{i-x,k-1,y}$,其中 $y \in [1,x]$
  • 答案:$\text{ans} = \sum_{x=1}^N f_{N,K,x}$

优化(优化状态):考虑 $1$ 的存在

  • $f_{i,k} = f_{i-1,k-1} + f_{i-k,k}$

另解:DFS

抄书问题

P1281 书的复制 - 洛谷
P1182 数列分段 Section II - 洛谷
[P2884 USACO07MAR] Monthly Expense S - 洛谷

题目:$n$ 个数分为 $K$ 组,使各组的和的最大值最小

  • $f_{i,j}$ 表示前 $i$ 个分 $j$ 组的最小最大值
  • $s_i$ 为前缀和
  • 枚举上一段末尾 $k$:$f_{i,j} = \min{\max(f_{k,j-1}, s_i - s_k)}$

优化

  • 转化 for 循环顺序:最外层枚举 $j$,中间枚举 $i$,最内层枚举 $k$
  • 可降维为 $f_i$

另解:数据较大且不要求输出方案时,可使用二分答案

棋盘型 DP

(内容待补充)

区间 DP

一般状态:$f_{l,r}$ 表示一个区间

区间顺序:区间长度从小到大,左端点从小到大

状态转移:

  • 扩展(左右两个方向)
  • 合并(枚举断点)

石子合并

[P1880 NOI1995] 石子合并 - 洛谷

  • $f_{l,r}$ 表示合并完 $[l,r]$ 得到的最大分数
  • 枚举断点 $k$,其中 $k \in [l,r)$
  • $f_{l,r} = \max(f_{l,k} + f_{k+1,r}) + s_r - s_{l-1}$

对于环状问题:可拓展 2 倍,转换为链后 DP(本质是枚举起点

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

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

相关文章

P1679 神奇的四次方数

P1679 神奇的四次方数 题目链接:P1679 神奇的四次方数 - 洛谷 题目描述 将一个整数 $m$ 分解为 $n$ 个四次方数的和的形式,要求 $n$ 最小。例如,当 $m = 706$ 时,因为 $706 = 5^4 + 3^4$,所以有 $n = 2$。可以证明…

P1877 [HAOI2012] 音量调节

P1877 [HAOI2012] 音量调节 [题目链接:P1877 HAOI2012] 音量调节 - 洛谷 题目描述 一个吉他手准备参加一场演出。他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前都需要改变一次音量。在演出开始之前,他…

数论导论

数论导论 快速幂 求 $a^b\bmod p$ 的结果。 我们可以构造如下算法: $ab=\begin{cases}(a)^2 &\texttt{b is even}\a(a{\frac{b-1}2})2&\texttt{b is odd}\end{cases}$ 每次 $b$ 会减半,所以时间复杂度 $O(\l…

P14321 「ALFR Round 11」D Adjacent Lifting, Fewest Rounds 题解

前言:考场上使用神秘的样例分析法蒙出来了,赛后发现竟然被评了个紫,万恶的良心驱使我写一篇题解。我们先看到操作。任选一个数字使其 \(+2\) 选择两个相邻的数字使其各 \(+1\)要求 使用操作 \(2\) 的次数最小。 换…

详细介绍:【Linux】进程的概念和状态

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Minio外网访问内网上传的预签名url的方法以及报错原因

自己个人的经验总结: 当其他技术配置检查多次都无误,但就是不行的时候,要考虑低级错误的可能: 比如本次 就是 之前 存储桶 的名字改过,但是只改了代码里 获取预签名url的,上传的没有改 导致的结果就是url根本是错的,因…

【ESP32 在线语音】星火大模型

【ESP32接入国产大模型之星火】https://blog.csdn.net/vor234/article/details/140594209

RT-Thread 之互斥量使用

互斥量(Mutex)是 RT-Thread 中用于解决线程间共享资源独占访问的核心 IPC 机制,本文简单介绍了互斥量的API函数和使用示例。一、互斥量概述 互斥量(Mutex)是 RT-Thread 中用于解决线程间共享资源独占访问的核心 I…

20232419 2025-2026-1 《网络与系统攻防技术》实验三实验报告

一、实验内容 1.1 了解恶意软件检测机制,学习免杀原理 1.2 熟悉msfvenom的使用,使用msfvenom中的编码器并尝试生成多种类型的文件 1.3 学习使用veil工具的使用 1.4 尝试进行压缩加壳和加密加壳 1.5 利用C语言shellco…

语义文本理解 BERT - MKT

语义文本理解 BERT 问题 如何区分一个同名的语义名字和物体? A区左边路口的房子 B区右边红绿灯的房子 两个房子含义是不一样的。 从“是什么”升级到“是什么以及在什么情境下”​​,提高了准确性。好的,这个问题…

详细介绍:分布式任务事务框架设计与实现方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

FM-Fusion 利用rgbd相机 ram-GroundingDINO-sam 重建语义地图 - MKT

FM-Fusion 利用rgbd相机 ram-GroundingDINO-sam 重建语义地图https://arxiv.org/pdf/2402.04555

AI元人文构想系列:从战略能力到价值对话的文明之路

AI元人文构想系列:从战略能力到价值对话的文明之路引言:超越“鹦鹉”与“黑洞”的AI未来 当前人工智能的发展正站在一个十字路口:一边是精于模仿却回避价值矛盾的“鹦鹉AI”,另一边是潜藏于金融、信息和地缘政治领…

Rig 项目深度分析报告

Rig 项目深度分析报告 基于我对这个项目的深入研究,让我为你详细分析 Rig 这个 Rust LLM 框架。 📋 项目概述 Rig 是由 Playgrounds 开发的开源 Rust 库,专门用于构建可扩展、模块化且符合人体工程学的 LLM 驱动应…

事件日志查看Windows安装软件情况

在事件日志中选择应用程序日志筛选事件来源,事件ID号

RT-Thread之创建线程

使用RT-Thread创建线程的一些代码模板。一、静态线程创建 1、thread_task.c文件 #include "thread_task.h" #include "main.h" #include <stdio.h> #include "rtthread.h"/…

cias_voice_plyer_handle.c 解析

#if VOICE_PLAY_BY_UART /**************** * 播报器参数初始化 * * * * **/ void audio_player_param_init() {outside_init_stream(&mp3_player, &mp3_player_end, IOT_AUDIO_PLAY_BUF_SIZE);if (!mp3_…

VirtualBox共享文件夹完全指南:实现Windows与Ubuntu无缝文件共享

VirtualBox共享文件夹完全指南:实现Windows与Ubuntu无缝文件共享 问题背景 在使用VirtualBox运行Ubuntu虚拟机时,经常需要在宿主机(Windows)和虚拟机(Ubuntu)之间传输文件。虽然可以通过USB设备或网络传输,但设…

凭借Ubuntu和i.MX 6ULL开发板构建网络共享

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

WampServer下载安装教程(附安装包,图文并茂) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …