摘要:
树链剖分题目 注意: 1. 要把边权转为点权 2. 计算两条链时,这两条链的公共点被额外算了一次,需要减去它 ```cpp #include #include #include #include #include typedef long long LL; typedef unsigned long 阅读全文
posted @ 2023-05-14 15:08
SHOJYS
阅读(32)
评论(0)
推荐(0)
摘要:
有一棵点数为 N 的树,以点 1 为根,且树有点权。然后有 M 个操作,分为三种: - 操作 1 :把某个节点 x 的点权增加 a 。 - 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 - 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 做法:树链剖分+线段树,板子 阅读全文
posted @ 2023-05-14 14:58
SHOJYS
阅读(46)
评论(0)
推荐(0)
摘要:
这是一道比树链剖分板子还板子的题目。 操作: 我们将以下面的形式来要求你对这棵树完成一些操作: 1. `CHANGE u t` :把节点 $u$ 权值改为 $t$; 2. `QMAX u v` :询问点 $u$ 到点 $v$ 路径上的节点的最大权值; 3. `QSUM u v` :询问点 $u$ 到 阅读全文
posted @ 2023-05-14 14:52
SHOJYS
阅读(29)
评论(0)
推荐(0)
摘要:
U163898 题目 题目背景 栋栋参加比赛拿下了一等奖,老师奖励了很多糖果。 题目描述 一共有 $m$ 种糖果,其中第i种糖果的数量为 $m_i$ 。栋栋吃糖时会获得快乐值,并且他喜欢换着口味吃糖。当栋栋吃下第一个糖果时快乐值为 $0$ ,接下来,每吃一个不同口味的糖果(与上一个糖不同),快乐值就 阅读全文
posted @ 2023-05-14 11:00
SHOJYS
阅读(67)
评论(0)
推荐(0)
摘要:
原题 标题虽然是栋栋的入门题,但它并不是入门题。 原题的题目描述是: 给出N个整数,以及M个求和范围,求出每一个范围的数字的和。 提示:显然,这并不是一道入门题。 这就要用到一种新的思想:前缀思想。 进入正题 数组 $a$ (此处方便讲解,忽略下标 $0$ )有这 $5$ 个数字: $1,3,2,1 阅读全文
posted @ 2023-05-14 10:58
SHOJYS
阅读(25)
评论(0)
推荐(0)
摘要:
蓝桥杯撞题NOIP原题,做法也一模一样(撞题:NOIP2013提高组 货车运输) 由题意可得这是让我们先求一个最大生成树(把求最小生成树反过来求即可),再求最小边权。 求最大生成树我们可以用并查集+排序做出。 求最小边权我们可以LCA,也可以树链剖分+线段树维护。后者码量太大~~(本人太懒)~~,没 阅读全文
posted @ 2023-05-14 10:52
SHOJYS
阅读(118)
评论(0)
推荐(0)