https://www.luogu.org/problemnew/show/P4577 https://loj.ac/problem/2521 参考:https://www.luogu.org/blog/ShadowassIIXVIIIIV/solution-p4577 自己再说下另一种理解方法吧. 我们设f[i][j]为i的子树下找到的点集最小值为j的大小. 但不是很好统计,所以我们开f[i][j]表示j~INF的和即为原来的含义. 则我们合并其子树的时候,考虑加入i的w[i]时,其答案f[i…
题解 P4577 [FJOI2018]领导集团问题 题解区好像没有线段树上又套了二分的做法,于是就有了这片题解. 题目传送门 怀着必 WA 的决心交了两发,一不小心就过了. 题意 求一个树上最长不下降子序列. 思路 首先考虑裸的 dp:设 \(f_{u,j}\) 表示以 \(u\) 为根的子树里选的数的最大值不小于 \(j\) 能选多少个. \[f_{u,j}= \begin{cases} \sum_\limits{v\ is\ u's\ son}f_{v,j} &j>w_u\\ \max\…
[BZOJ5469][FJOI2018]领导集团问题(动态规划,线段树合并) 题面 BZOJ 洛谷 题解 题目就是让你在树上找一个最大的点集,使得两个点如果存在祖先关系,那么就要满足祖先的权值要小于等于儿子的权值. 首先离散权值. 考虑一个暴力\(dp\),设\(f[i][j]\)表示以\(i\)为根,子树中被选择的最小值为\(j\)时能够被选出的最大点树.然后xjb转移一下就写出了一个\(O(n^3)\)的优秀做法. 然后把状态从恰好变成至少,然后就得到了一个\(O(n^2)\)的做法. 考虑…
[FJOI2018]领导集团问题 dp[i][j],i为根子树,最上面的值是j,选择的最大值 观察dp方程 1.整体Dp已经可以做了. 2.考虑优美一些的做法: dp[i]如果对j取后缀最大值,显然是不上升的分段函数 而段数就是子树sz 树形Dp的时候,子树之间可以直接把分段函数按位相加.对于<=w[x]的,可以额外获得从dp[i][w[x]]+1得到的转移 1.用map维护,启发式合并,但是合并整体加上一些数不能维护具体值,所以维护差分值! 2.额外转移,找到前驱p,p+1到w[x]整体+1,…
P4577 [FJOI2018]领导集团问题 链接 luogu bzoj 他是个重题 bzoj4919: [Lydsy1706月赛]大根堆 代码改改就过了 思路 求树上的lis,要好好读题目的!!! 类似于一条链子的思路,把大于w[u]的改掉 代码 #include <bits/stdc++.h> using namespace std; const int N=2e5+7; int read() { int x=0,f=1;char s=getchar(); for(;s>'9'||s…
P4577 [FJOI2018]领导集团问题 我们对整棵树进行dfs遍历,并用一个multiset维护对于每个点,它的子树可取的最大点集. 我们遍历到点$u$时: 不选点$u$,显然答案就为它的所有子树的子集大小之和(所以答案是单调不减的) 选点$u$时,我们lower_bound一个比$val[u]$小且最接近$val[u]$的权值,用$val[u]$替换它. 为什么可以酱紫做呢 试想一下,当multiset中的元素都被替换到比点$k$的权值$val[k]$大时 这时把$val[k]$扔进去,…
5469: [FJOI2018]领导集团问题 链接 题意: 要求在一棵树内选一个子集,满足子集内的任意两个点u,v,如果u是v的祖先,那么u的权值小于等于v. 分析: dp[u][i]表示在u的子树内,最大的数是i的时候,最多选多少点.其中每个i都要和i+1取max,即每个i维护后缀最大值. 考虑优化:如果不考虑u的权值,对dp数组从后往前差分,然后得到的一定全是正数,而且此时的差分数组就是所有子节点的差分数组的和(即把每一位上的数字求和). 而合并差分数组是可以做到$O(nlogn)$的,因为…
题面 FJOI2018 领导集团问题 给一棵树 \(T(|T|=n)\),每个点有个权值 \(w_i\),从中选出一个子点集 \(P=\{x\in {\rm node}|x\in T\}\),使得 \(\forall u,v\in P,v\in{u{\rm 's\ subtree}}\) 满足 \(w_v\ge w_u\),求 \(|P|_{\max}\). 数据范围:\(1\le n\le 2\cdot 10^5\),\(0<w_i\le 10^9\). 蒟蒻解 这里是线段树合并维护 \(\r…
洛谷P1484 种树&洛谷P3620 [APIO/CTSC 2007]数据备份 题解(堆+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1329957 题目链接地址: 洛谷P1484 种树 洛谷P3620 [APIO/CTSC 2007]数据备份(各大oj多倍经验) 照例吐槽 两道基本一模一样的题,只是第二道要差分顺便思维稍微向这边转化一下... 我觉得这两个题思维很不错啊!很\(Noip\ T2\)的样子... 话不多说将题解 贪心+堆优化 肯…
背景 今天\(loj\)挂了,于是就有了闲情雅致来刷\(luogu\) 题面 洛谷P3387 [模板]缩点传送门 题意 给定一个\(n\)个点\(m\)条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次. 思路 ~~点击获得更好的阅读体验~~ \(Kosaraju\)缩点+记忆化搜索 什么是\(Kosaraju\)缩点? 与\(Tarjan\)缩点的时间复杂度差不多,都是\(O(n+m)…