QOJ4815 Flower's Land 题解
First Post:
Last Update:
Last Update:
让我再次复习了一遍 DFS 序优化背包,这次应该搞明白了。
这种题显然是要 DFS 序优化树上背包的,改合并背包为插入元素。
由于连通块不一定经过
显然
- 比这条链中的所有点先 DFS 到的,那么,其在 DFS
出栈序上,就会在
即以前 (这里的 表示出栈序) - 比这条链中的所有点后 DFS 到的,那么,其在 DFS入栈序
上,就会在
的后面(这里的 表示 入栈序)
DFS 序优化背包一定要注意 出栈序 和 入栈序 的问题,常说的”链左边的那一些点“,在出栈序上是个前缀,在入栈序上则不一定。
区分完之后,在出栈序和入栈序上跑两遍背包即可。时间复杂度
因为外面有个点分,且当前分治区域大小
C++ - 91 lines
expand
1 |
|
Gitalking ...