树上DP
S_G_G
这个作者很懒,什么都没留下…
展开
-
[bzoj1812][ioi2005]riv(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1812 【解题思路】转化为二叉树更方便。可以从Bytetown向后dp同时记录每个点在Bytetown方向上的最近锯木厂以满足无后效性。 【呆马】#include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib>原创 2016-07-23 17:16:54 · 609 阅读 · 1 评论 -
[bzoj1131][POI2008]Sta(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1131 【呆马】#include<algorithm> #include<cstdio> #include<cstdlib> #include<iostream> #include<cmath> const int N=1e6+1; using namespace std; struct原创 2016-07-27 15:20:22 · 426 阅读 · 0 评论 -
[bzoj1369][Baltic2003]Gem(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1369 【解题思路】标上的权值不会超过log2(N),好像SDOI2015R2D2T2也要证这个然而我太弱了根本不会证。 【呆马】#include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib> #include原创 2016-07-24 21:54:31 · 497 阅读 · 0 评论 -
[bzoj1040][ZJOI2008]骑士(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1040 【题目大意】每个人有战斗力和一个痛恨的人,他不能与那个人一起出征,求最大战斗力总和 【解题思路】整体的图由一个或多个联通块构成。每个联通块点数等于边数。由于每个点至少连一条边所以这是一个环套树(在一棵树上加一条边构成的图)。dfs随意拆环,按被拆边两个端点的选取情况进行两次dp择原创 2016-07-19 14:47:12 · 476 阅读 · 0 评论 -
[bzoj1864][Zjoi2006]三色二叉树(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1864 【呆马】#include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib> #include<iostream> #include<cstring> const int N=500001; using nam原创 2016-07-19 15:37:26 · 421 阅读 · 0 评论 -
[bzoj2435][Noi2011]道路修建(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=2435 【解题思路】树上DP(DFS用内嵌汇编手动开大系统栈或者写BFS) 【呆马】#include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib> #include<iostream> const int N=原创 2016-07-20 21:42:35 · 537 阅读 · 0 评论 -
[bzoj1060][ZJOI2007]时态同步(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1060 【呆马】#include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib> #include<iostream> #define ll long long const int N=500001; using原创 2016-07-21 01:53:54 · 517 阅读 · 0 评论 -
[bzoj1912][Apio2010]patrol 巡逻(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1912 【呆马】#include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib> #include<iostream> const int N=1e5+1; using namespace std; struct原创 2016-07-21 14:13:12 · 364 阅读 · 0 评论 -
[bzoj1063][Noi2008]道路设计(树上dp)
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1063 【解题思路】切入点是第一个答案不可能大于log3(N),用树链剖分的思想易证不大于log2(N),用满三叉树也不难反证出不大于log3(N),然后就可以将“不便利值”记录进状态了。可参考(http://blog.csdn.net/thy_asdf/article/details/4原创 2016-07-23 17:08:44 · 403 阅读 · 0 评论 -
[Usaco2011open][BZOJ2444]焊接
Description 奶牛们正在玩电线!他们学会了焊接:把两条电线连接起来,将某条的端点焊接到 另一条的中间某个位置(注意:不能够将两条电线的端点焊接起来,即中间某个位置 不包括端点)。当然,中间的同一个位置可以焊接多条电线。(并且焊接点必须为整数点, 这个好像英文题面没说,我是这么理解的) 奶牛们准备建造一个神奇的结构。它是一个N(1 并且任意两个节点连通。每条边通过原创 2016-11-03 16:24:40 · 1640 阅读 · 0 评论