cf1084d 非常巧妙的树形dp】的更多相关文章

/* 给定n城市,m条道路,每条路耗油w,每个点有油a[i],从任意点出发,求最大可以剩下的油 dp[i]表示从i开始往下走的最大收益,ans表示最大结果 因为走过的路不能走,所以可以想到最优解肯定经过某个点u,其余点都是其子节点 并且即使有分叉,也一定在这个点u上 那么在dp时先处理好子节点,获得所有的dp[son],然后再更新dp[u]和ans即可 */ #include<bits/stdc++.h> using namespace std; #define maxn 300005 #de…
3631: [JLOI2014]松鼠的新家 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1231  Solved: 620[Submit][Status][Discuss] Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序…
题目链接:BZOJ - 1907 题目分析 使用树形 DP,f[x][0] 表示以 x 为根的子树不能与 x 的父亲连接的最小路径数(即 x 是一个折线的拐点). f[x][1] 表示以 x 为根的子树可以与 x 的父亲连接的最小路径数. 转移的方式非常巧妙,Orz PoPoQQQ 的 blog . 代码 #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #…
4871: [Shoi2017]摧毁"树状图" 题意:一颗无向树,选两条边不重复的路径,删去选择的点和路径剩下一些cc,求最多cc数. update 5.1 : 刚刚发现bzoj上这个做法被hack了....以后再想一下别的做法吧 一开始以为这是三合一,写了x=2和x=1. 后来才明白...人家给出的本来就是最优...你自己再求也无所谓 x=0的树形DP没有想出来,感觉很不好处理. 题解是对边进行树形DP 对于有向边\(p:(u,v)\),\(f(p), g(p), d(p)\)分别表…
fire poj-2152 题目大意:给出一颗树,给出两个相邻节点的距离,以及每个节点的接受范围,还有当前节点的代价.我们想要求出覆盖整个图的最小代价. 注释:一个点被覆盖,当且仅当该点有防火站或者这个点的接受范围之内有防火站.计算两个不相邻节点的距离用LCA计算.节点数<=1000,接受范围<=10,000. 想法:poj最后一道树形dp,用这道神一样的树形dp结尾,在好不过. 对于一个节点来讲设几个状态:ans[pos]表示使以pos为根的子树被保护的最小代价.dp[pos][save]表…
题目:给出n个点的树  q次询问  问切断 k个点(不和1号点联通)的最小代价是多少 思路:树形dp  sum[i]表示切断i的子树中需要切断的点的最小代价是多少 mi[i]表示1--i中的最小边权 sum[i]=min(mi[i],sigma(min(mi[v],sum[v]) (v∈i.son)) 从根向上dp  这里巧妙运用了欧拉序(每个点入和出的按时间顺序排列的序列) 题目链接:https://www.luogu.org/problemnew/show/P2495 参考:https://…
上次说了说树形dp的入门 那么这次该来一点有难度的题目了: UVA10859 Placing Lampposts 给定一个n个点m条边的无向无环图,在尽量少的节点上放灯,使得所有边都与灯相邻(被灯照亮). 在灯的总数最小的前提下,被两盏灯同时照亮的边数应该尽可能大. 输入格式 第一行输入T,为数据组数. 每组数据第一行输入n,m,分别为该组数据中图的点数和边数. 以下m行,输入各边的两端点u,v. 输出格式 输出共T行. 对每组数据,一行输出三个数,最小灯数.被两盏灯同时照亮的边数.只被一盏灯照…
随着校oj终于刷进了第一页,可以不用去写那些水题了,开始认真学习自己的东西,当然包括文化课.努力.. 这道题呢是道树形dp,可看到了根本就不知道怎么写思考过程: 5min 终于看懂了题 画了样例的图把输出看懂了 然后发现这不可做.. 设个状态吧,这肯定是从子树上进行转移的然后然后f[i]表示以i为根节点子树的大小吧.然后真的就不可做了. 想列状态转移方程发现价值算不出来放弃,脑抽没有多加一维状态来表示价值哎. 无奈点开题解 1min恍然大悟..dp好难. 其实这道题就是一个简单的树形背包dp,细…
4784: [Zjoi2017]仙人掌 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 312  Solved: 181[Submit][Status][Discuss] Description 如果一个无自环无重边无向连通图的任意一条边最多属于一个简单环,我们就称之为仙人掌.所谓简单环即不经过 重复的结点的环. 现在九条可怜手上有一张无自环无重边的无向连通图,但是她觉得这张图中的边数太少了,所以她想要在图上连上 一些新的边.同时为了方便的存储这张…
[BZOJ1912][Apio2010]patrol 巡逻 Description Input 第一行包含两个整数 n, K(1 ≤ K ≤ 2).接下来 n – 1行,每行两个整数 a, b, 表示村庄a与b之间有一条道路(1 ≤ a, b ≤ n). Output 输出一个整数,表示新建了K 条道路后能达到的最小巡逻距离. Sample Input 8 1 1 2 3 1 3 4 5 3 7 5 8 5 5 6 Sample Output 11 HINT 10%的数据中,n ≤ 1000,…