description "题面" data range $$n\le 250000,\sum k\le 500000$$ solution 所谓虚树,应该是一种复杂度为$O(节点数)$且能表示出所有询问节点的祖先关系的数据结构。 是一个比较灵活的东西 询问节点两两的$lca$就是$dfn$序中相邻两 ...
分类:
其他好文 时间:
2018-08-16 00:49:09
阅读次数:
139
简介 虚树,顾名思义就是不真实的树。 它往往出现在一类树形动态规划问题中。 换句话说,虚树实际就是为了解决一类树形动态规划问题而诞生的! 我们从一道经典的虚树题目入手 [SDOI2011]消耗战 链接:https://www.luogu.org/problemnew/show/P2495 题目大意 ...
分类:
其他好文 时间:
2018-06-13 11:50:04
阅读次数:
179
题目链接 "bzoj 2286: [Sdoi2011]消耗战" 题解 抽离虚树dp 对于虚树我们可以O(m)构造 dfs序排序后,易证相邻两点lca为所有出现到的lca 每次维护一个深度递增的栈,用其来维护一个节点的虚树,当其被pop出栈时他的虚数也构造完了 那么栈中序列即为链的父子关系 每次若将要 ...
分类:
其他好文 时间:
2018-06-03 12:22:52
阅读次数:
155
要求: 1、创建三个游戏人物,分别是: 苍井井,女,18,初始战斗力1000 东尼木木,男,20,初始战斗力1800 波多多,女,19,初始战斗力2500 2、游戏场景,分别: 草丛战斗,消耗200战斗力 自我修炼,增长100战斗力 多人游戏,消耗500战斗力 ...
分类:
编程语言 时间:
2018-06-02 22:16:16
阅读次数:
137
Description "题目链接" Solution 在虚树上跑DP即可 Code c++ include include include include define ll long long define N 250010 using namespace std; const ll Inf=1 ...
分类:
其他好文 时间:
2018-03-30 21:56:04
阅读次数:
191
这次要学的是一个听起来很虚的东西 没错写起来更虚 毕竟都是在虚的东西上面操作…… 虚树,顾名思义,就是一棵不真实的树【大雾】 它可以对于一部分点保存整棵树的所有信息,而对一部分点选择忽略,这样可以增加dp/点分治的效率 为了给大家一个更好的例子(免得看不懂虚树到底能干嘛),我们先来看一个题目:消耗战 ...
分类:
编程语言 时间:
2018-03-18 16:14:36
阅读次数:
149
题链: https://www.luogu.org/problemnew/show/P2495题解: 虚树入门,树形dp 推荐博客:http://blog.csdn.net/lych_cys http://blog.csdn.net/lych_cys/article/details/50814948 ...
分类:
其他好文 时间:
2018-03-12 21:52:07
阅读次数:
251
2286: [Sdoi2011]消耗战 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 4833 Solved: 1788 [Submit][Status][Discuss] Description 在一场战争中,战场由n个岛屿和n 1个桥梁组成,保证 ...
分类:
其他好文 时间:
2018-03-11 14:27:26
阅读次数:
159
[BZOJ][1] [Luogu][2] sol 虚树DP 所谓虚树就是把当前一次询问要用到的点全部拿出来建成的一棵树吗? 其实不只是这次询问的所有点,还要加上dfs序相邻的两个点的lca,这样才可能形成原树的结构。 接下来需要处理连边。其实只要维护一个栈每次保证从前往后都是祖孙关系就行了。一个点在 ...
分类:
其他好文 时间:
2018-02-23 23:55:41
阅读次数:
228
虚树模板题~洛谷P2495 第一次写虚树,感觉好厉害呀~首先,这道题目的树形dp是非常显然的,要控制一个点&其子树所有点,要么在子树内部割边,要么直接切点该点与父亲的连边。所以dp[u]表示控制u点所需的最小代价。只是,注意到这样dp的复杂度是O(nm)的,十分不可接受,妥妥的TLE。不过,题目给出 ...
分类:
其他好文 时间:
2018-02-22 21:27:19
阅读次数:
186