刚知道我一直写的是假的树形dp 树性dp一类是树上背包,一道经典模板选课 我们大多写的是$nm^2$的算法,即先枚举点,再枚举背包容量,接着枚举子树选的容量大小 蓝书上的写法也是这样,对于此题由于数据小可以过,但是可以优化 考虑限制枚举范围,每次只有小于当前子树$size$的枚举才合法,于是可以进行 ...
转载 2021-09-06 20:13:00
137阅读
2评论
题目网址:链接int head[maxn];int n,m,cnt,tot;ll a[maxn],b[maxn],c[maxn],id[maxn];int fa[maxn];i
i++
原创 2021-07-28 12:34:01
49阅读
题目 某大学有$n$个职员,编号为 \(1,2...n\). 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数$r_i$,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯 ...
转载 2021-10-01 18:27:00
114阅读
2评论
题目描述设有N \times NN×N的方格图(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00。如下图所示(见样例):A 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0 14 0 0 0 0 0 21 0 0 0 ...
原创 2022-10-26 19:57:05
139阅读
作业(homework)题目背景:众所周知,白神是具有神奇的能力的。比如说,他对数学作业说一声“数”,数学作业就会出于畏数学作业混在一起,这就让白神苦恼起来
原创 2013-06-04 17:04:33
84阅读
【题意】设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符;
原创 2022-07-29 16:56:06
54阅读
题目描述 这是 LeetCode 上的 310. 最小高度树 ,难度为 中等。 Tag : 「树形 DP」、「DFS」、「动态规划」 树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一
原创 精选 9月前
348阅读
 树形DP即在树上的DP主要是把儿子的最优解传给父亲与普通DP一样,也分几步1.确定状态->第
原创 2022-07-05 10:35:00
106阅读
判断一棵树是不是搜索二叉树 判断一棵树是不是平衡二叉树 求数中任意两个结点的最远距离 一个公司的上下节关系是一棵多叉树,这个公司要举办晚会,你作为组织者已经摸清了大家的心理:一个员工的直 接上级如果到场,这个员工肯定不会来。每个员工都有一个活跃度的值,决定谁来你会给这个员工发邀请函
原创 2021-07-08 14:39:07
148阅读
实在太菜了,之前做过的模板还是给忘记了,wa10000次才刻骨铭心。#include<iostream>#include<cstring>using namespace std;const int N=200010;typedef long long ll;int h[N],ne[N],w[N],idx,e[N];int n;ll ans=-1e18;void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=id.
原创 2021-07-09 14:07:48
386阅读
只做过模板题,还没有题感 ###没有上司的舞会 Ural 大学有 N 名职员,编号为 1∼N。 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。 每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。 现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。 在满足这个 ...
转载 2021-10-08 15:57:00
85阅读
2评论
一些规律 状态转移方程 f[i][]表示i这棵子树怎样的最优解 用子树更新父亲 一个一个子树的更新父亲(树上背包) 计算完所有子树再更新子树 题型1:子树与计数 统计子树和,通过加减一些子树满足题目中的某些性质 Garland 统计以每个点为根的子树和,合并时遇到一个子树和为\frac{sum}{3 ...
转载 2021-08-28 15:02:00
82阅读
2评论
A - Anniversary party 这个题目是说,公司开宴会,为了让这个宴会的欢乐值尽量大,所以我们规定每一个员工的直属上司不能去,或者说每一个上司的直属员工不能去 , 然后求这个宴会的最大快乐值。 这个题目是我树形dp的入门题吧,虽然我到现在都还是不太懂树形dp,感觉就是模模糊糊的一个理解
转载 2019-06-05 10:25:00
72阅读
2评论
区间dp后就开垦树形dp了,树形dp其实就是把dp的过程在一棵树上进行,表现形式也很简单呢,其实就是子节点和父亲节点的关系之间的dp过程往往都是从一个没有儿子的儿子节点开始dp这样才能形成最优子结构,思考一下状态转移,当然是直接看书上的状态转移了(感觉很自然的状态转移。 这里父亲和儿子的关系已经给的
转载 2018-11-23 09:53:00
90阅读
2评论
// ACM训练联盟周赛 C. Teemo's tree problem There is an apple tree in Teemo's yard. It contains n nodes and n-1 branches, and the node 1 is always the root o
转载 2018-08-23 16:58:00
95阅读
2评论
树上背包 P1273 有线电视网 “ 在不亏本的情况下使观看转播的用户尽可能多 ”,考虑求出对于每个转播用户数量的盈亏情况。 设 \(f_{u,i}\) 表示在 \(i\) 的子树内选择 \(i\) 个转播节点的最多赚的钱或最少亏的钱(消去了第一维表示考虑前几个子树) \(f_{u,i}=\max\ ...
转载 2021-10-22 22:58:00
99阅读
2评论
题x
原创 2022-07-26 16:29:24
165阅读
题目链接 "选课" 题解 基础背包树形dp C++ include include include include include define LL long long int define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) defi
原创 2021-07-20 14:47:22
199阅读
树形dp之换根dp 换根dp树形dp这一类中我觉得比较难的一类。 一般的树形dp都只需要从子树往父亲推,然而换根dp则需要从父亲往子树推,接下来写写我学习换根dp的几个例题。 例题1 Computer 题目大意:给你一棵树,然后问你每一个点具体其他点最远的距离是多少。 解题:这个题目首先任意找一个
转载 2020-07-16 20:52:00
176阅读
2评论
Tree(树形DP)不太熟,记录一下思路传送门思路:对于树上某一个点的连通点集的数量,我们可以以它为根进行树上dpdpdp。根据乘法原理:dp[u]=dp[u]×∏v∈son(dp[v]+1)dp[u]=dp[u]\times\prod\limits_{v\in son}(dp[v]+1)d
原创 2022-01-22 11:44:27
140阅读
  • 1
  • 2
  • 3
  • 4
  • 5