摘要:
题目描述 HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。 HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳? 这个问题很难回答。。。因为项链实在是 阅读全文
posted @ 2024-02-19 07:10
__kw
阅读(39)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-02-17 21:51
__kw
阅读(0)
评论(0)
推荐(1)
摘要:
树形dp,又称树状dp,即在树上进行的dp,在设计动态规划算法时,一般就以节点从深到浅(子树从小到大)的顺序作为dp的“阶段”,dp的状态表示中,第一维通常是节点编号(代表以该节点为根的子树)。大多数时候,我们采用递归的方式实现树形动态规划。对于每个节点x,先递归在他的每个子节点上进行dp,在回溯时 阅读全文
posted @ 2024-02-17 20:50
__kw
阅读(39)
评论(0)
推荐(2)
摘要:
传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵, 而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。 纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐 阅读全文
posted @ 2024-02-17 20:29
__kw
阅读(57)
评论(0)
推荐(2)
摘要:
区间dp: 就是对于区间的一种动态规划,对于某个区间,它的合并方式可能有很多种,我们需要去枚举所有的方式,通常是去枚举区间的分割点,找到最优的方式(一般是找最少消耗)。 通常都是先枚举区间长度,区间长度为1就不用合并,所以从2开始枚举,然后枚举左端点,那么右端点就为左端点加区间长度-1,再枚举分割点 阅读全文
posted @ 2024-02-17 18:10
__kw
阅读(148)
评论(0)
推荐(2)
摘要:
一.概念 具有线性阶段划分的动态规划算法叫作线性动态规划(简称线性DP)。若状态包含多个维度,则每个维度都是线性划分的阶段,也属于线性DP,如下图所示: 二.线性dp的三大经典例题 1.LIS问题:求最长上升子序列 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一 阅读全文
posted @ 2024-02-17 17:28
__kw
阅读(235)
评论(0)
推荐(2)
摘要:
01背包问题(每个物品最多选一次) AcWing 2. 0/1背包问题 朴素の版本: #include <bits/stdc++.h> using namespace std; const int N=1010; int vi[N],wi[N],f[N][N]; int n,v; int main( 阅读全文
posted @ 2024-02-17 16:56
__kw
阅读(72)
评论(0)
推荐(1)
摘要:
一、基本概念 动态规划(dynamic programming)是 运筹学 的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初 美国 数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题 阅读全文
posted @ 2024-02-17 15:20
__kw
阅读(83)
评论(1)
推荐(2)
浙公网安备 33010602011771号