
树形dp
huanghongxun
这个作者很懒,什么都没留下…
展开
-
BZOJ 1093 ZJOI 2007 最大半连通子图 DP
求图的最大半连通子图(什么是半连通参考POJ 2762)。由于在对原图缩点以后,半连通就变成DAG上的一条链。那么答案就是DAG上的最长链。一个DP即可。 注意要处理重边。。#include <cstdio>#include <cstring>#include <algorithm>#include <set>using namespace std;#define FOR(i,j,k)原创 2016-03-08 14:09:35 · 466 阅读 · 0 评论 -
BZOJ 1063 NOI 2008 设计路线 树形DP
求树的路径覆盖方案数使各点到根经过非覆盖边总次数(不便利值)最小。 OI题题面真是麻烦。。 令f[i][j][k]f[i][j][k]表示第i个点,向子树连了k条边后的不便利值。显然0≤k≤20\leq k\leq 2。 如果令gig_i表示子树向本点连一条边,不便利值相同的方案数,hih_i表示子树向本点不连边,不便利值+1的方案数。 那么 gi=f[i][j][0]+f[i][j][1原创 2016-03-10 23:04:20 · 652 阅读 · 0 评论 -
BZOJ 2097 USACO 2010 Dec Gold Exercise 奶牛健美操 二分答案 树形DP 贪心
感觉跟BZOJ 2067 POI 2004 szn有点关联。 二分答案ans。 对于每个点,如果子树中存在超过ans的链就砍掉。剩余的差不多了。#include <cstdio>#include <algorithm>const int N = 100005, M = N * 2;using namespace std;int e = 0, h[N], v[M], p[M], mid,原创 2016-03-12 15:11:26 · 1104 阅读 · 0 评论 -
BZOJ 2067 POI 2004 SZN 树形DP 贪心 二分答案
POI标程。。。明明OI代码写成OI风格就好了嘛,干嘛写成产品代码。。好好的代码强行拉到200+行而且思路也不紧凑了。。话说都这么 滥用 STL么。。首先最长的线最短可以多少,显然可以二分答案。然后如何判定ans?令gig_i表示以i为根的子树中所有路径长度不超过ans时连向i祖先的路径的最小长度,于是当grt≤ansg_{rt}\leq ans时ans可行。 然后有gi=gj+1g_i=g_j+原创 2016-03-11 14:20:24 · 1254 阅读 · 0 评论 -
BZOJ 3522|POI 2014|Hotel|树形DP
给出树上三点对的个数,满足两两距离相等。显然,符合题意的情况只有3个点在某个点的不同子树中的情况,因此枚举根跑一次树形DP处理出不同深度的点的个数搞一下就可以了。2016年1月A的题为什么没有写题解呢。。 为Claris的加强版做准备#include <cstdio>#include <cstring>const int N = 5001, M = 10000;int h[N], v[M],原创 2016-04-28 22:36:36 · 920 阅读 · 0 评论 -
CodeForces 629E(#343)|Famil Door and Roads|树形dp|概率
Ubuntu下的搜狗好痛苦。。中文翻译描述Famil Door的城市地图看起来像一棵树(无向无环图)所以其他人叫他Treeland。城市里有n个由n-1条双联通边连接起来的节点。 Famil Door有m个朋友生活在这城市。第i个朋友住在uiu_i而且在viv_i工作。在城市里的每个人都不开心因为在他们家和工作地点间只有一条简单路径。 Famil Door计划构造1条新边而且他会在n(n−1)/原创 2016-02-25 23:36:07 · 937 阅读 · 0 评论 -
CodeForces 120F|Spiders|树形DP|求树最长链
给出n棵树,求这些树最长链长和。令f[i]表示在i子树中能走到的最长步数。有f[i]=max{f[son[i]]+1}那么对于每个点i,有答案为max j∈son[i] {f[son[i]-{j}]+f[j]+1}#include #include #include using std::max;const int N = 101, M = 2 * N;int far[N],原创 2015-11-29 16:15:58 · 861 阅读 · 0 评论 -
UVALive 6631|Jingle Balls|树形DP
题目大意一棵树的叶节点一开始至多有一个球,要求移动最少数量的球使得对于每个节点其两子树的球的数量差至多为1。题目原文It will soon be time to decorate the Christmas tree. The NWERC judges are already debating the optimal way to put decorations in a tree. They原创 2017-12-03 00:17:49 · 317 阅读 · 0 评论