摘要:
题目大意:给定一棵 N 个节点的有根树,1 号节点为根节点,叶子节点有点权,每条边有边权,每经过一条边都减去该边权,每经过一个节点都加上该点权,求在保证权值和为非负数的前提下最多能经过多少个叶子节点。 题解:$dp[u][i]$ 表示在以 u 为根节点的子树中,经过 i 个叶子节点的最大权值和,则有 阅读全文
摘要:
题目大意:静态统计序列区间中出现次数大于等于 2 的颜色数。 题解:类似于 "HH的项链" ,只需将 i 和 pre[i] 的关系对应到 pre[i] 和 pre[pre[i]] 的关系即可。 代码如下 cpp include using namespace std; const int maxn= 阅读全文
摘要:
题目大意:静态查询序列区间颜色数。 题解:对于一个查询区间 [l , r] ,若有两个相同颜色的点在这个区间中,则总是取下标靠近端点 r 的颜色计入答案贡献。对于每个下标,记录下在这个下标之前,且距离当前下标最近的,且与这个下标对应的颜色相同的下标是多少,即:$min\{j,j using name 阅读全文