![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
浅梦曾倾
java选手
展开
-
洛谷 P1352 没有上司的舞会
【题目描述】某大学有 nnn 个职员,编号为 1…n。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 rir_iri,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。【输入】输入的第一行是一个整数 n。第 2 到第 (n+1) 行,每行一个整数,第 (i+1) 行的整数表示 i 号原创 2020-10-03 01:09:39 · 138 阅读 · 0 评论 -
动态规划 —— 树形DP
【概述】树形动态规划是在树的数据结构上的动态规划,在各个阶段呈现树状关系的时候可以采用树形 DP,其基本思想是由子节点的信息推出父节点的信息。树形 DP 中,是通过以下 4 点树的特点来进行建图的:n 个点,n-1 条边的无向图,任意两顶点间可达无向图中任意两个点间有且只有一条路一个点至多有一个前趋,但可以有多个后继无向图中没有环【计算顺序】计算顺序与线性动态规划的顺推、逆推相似,同样有两个方向:叶 => 根:在回溯时,从叶节点向上转移状态根 => 叶:在叶向根 DFS转载 2020-10-02 23:43:42 · 2453 阅读 · 0 评论 -
不要62(HDU-2089)(数位DP)
【题目】杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315、73418、88914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。【思路】原创 2020-09-29 01:06:07 · 105 阅读 · 0 评论 -
动态规划 —— 状压DP (附一些位运算小知识)
【题目】给定一个具有 N 个顶点的凸多边形,将顶点从 1 至 N 标号,每个顶点的权值都是一个正整数。将这个凸多边形划分成 N−2 个互不相交的三角形,试求这些三角形顶点的权值乘积和至少为多少。【思路】【题意】...原创 2020-08-16 01:42:44 · 157 阅读 · 0 评论 -
区间DP —— 能量项链
【题目】在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链。在项链上有 N 颗能量珠。能量珠是一颗有头标记和尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记必定等于后一颗珠子的头标记。因为只有这样,通过吸盘——Mars 人吸收能量的器官的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可被吸盘吸收的能量。如果一颗能量珠头标记为 m ,尾标记为 r,后一颗能量珠头标记为 r,尾标记为 n,则聚合后释放出 m×r×n Mars单位的能量,新珠子头标记为 m,尾标原创 2020-08-15 23:43:44 · 235 阅读 · 0 评论 -
区间DP —— 石子合并
区间DP的经典例题,有三种题型本篇博客借鉴了了两位大佬的博客。博客1、博客2一、任意合并问题:N堆石子,现要将石子有序的合并成一堆。每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。思路:贪心,每次把最小的两堆合并即可,可以使用stl中的优先队列来实现。代码:#include<iostream>#include<queue>#define ll long longusing namespace s原创 2020-08-12 22:07:15 · 173 阅读 · 0 评论 -
动态规划 —— 区间DP
基本概念区间类dp是线性dp的扩展,它在分阶段划分问题时,与阶段中元素出现的顺序和由前一段的哪些元素合并而来有很大关系。如状态f[i][j],它表示以已合并的次数为阶段,以区间左端点 i 为状态,它的值取决于第 i 个元素和第 j 个元素断开的位置 k ,即f[i][k]+f[k][j]的值。特征:合并:即多个部分进行整合,或者把一个问题分解成多个部分。特征:能把问题分解成两两合并的形式。求解:对整个问题设最优解,枚举合并点,将问题分解成左右两个部分,最后合并左右两个部分的最优值得到原问题的最优原创 2020-08-15 19:58:28 · 143 阅读 · 0 评论 -
学习总结(背包)
一、知识总结1、01背包01背包特点就是每一种物品都只有一件,每件物品可以选择放还是不放。01背包的状态转移方程是f[i][j]=max{f[i-1][j],f[i-1][v-w[i]]+c[i]},这里f[i][j]表示前i件物品恰好放入一个容量为j的背包中,w[i]是第i件物品的容量,怎么理解这个状态转移方程呢,就是你在第i个物品的时候,你可以选择放还是不放,如果不放的话,总价值就跟i-...原创 2020-04-19 16:57:28 · 183 阅读 · 0 评论