摘要: 题面翻译 - 给出一棵以 $1$ 为根节点的 $n$ 个节点的有根树。每个点有一个权值,初始为 $0$。 - $m$ 次操作。操作有 $3$ 种: 1. 将点 $u$ 和其子树上的所有节点的权值改为 $1$。 2. 将点 $u$ 到 $1$ 的路径上的所有节点的权值改为 $0$。 3. 询问点 $u 阅读全文
posted @ 2023-05-19 23:00 SHOJYS 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 有两个操作: 1. 将 $u$ 到 $v$ 路径增加 $k$ 2. 询问 $u$ 节点的子树和 显然,我们可以用树链剖分+线段树来做。 代码: ```cpp #include #include #include #include typedef long long LL; typedef unsig 阅读全文
posted @ 2023-05-19 22:51 SHOJYS 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 树链剖分题目 注意: 1. 要把边权转为点权 2. 计算两条链时,这两条链的公共点被额外算了一次,需要减去它 ```cpp #include #include #include #include #include typedef long long LL; typedef unsigned long 阅读全文
posted @ 2023-05-14 15:08 SHOJYS 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 有一棵点数为 N 的树,以点 1 为根,且树有点权。然后有 M 个操作,分为三种: - 操作 1 :把某个节点 x 的点权增加 a 。 - 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 - 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 做法:树链剖分+线段树,板子 阅读全文
posted @ 2023-05-14 14:58 SHOJYS 阅读(20) 评论(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 阅读(19) 评论(0) 推荐(0) 编辑
摘要: U163898 题目 题目背景 栋栋参加比赛拿下了一等奖,老师奖励了很多糖果。 题目描述 一共有 $m$ 种糖果,其中第i种糖果的数量为 $m_i$ 。栋栋吃糖时会获得快乐值,并且他喜欢换着口味吃糖。当栋栋吃下第一个糖果时快乐值为 $0$ ,接下来,每吃一个不同口味的糖果(与上一个糖不同),快乐值就 阅读全文
posted @ 2023-05-14 11:00 SHOJYS 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 原题 标题虽然是栋栋的入门题,但它并不是入门题。 原题的题目描述是: 给出N个整数,以及M个求和范围,求出每一个范围的数字的和。 提示:显然,这并不是一道入门题。 这就要用到一种新的思想:前缀思想。 进入正题 数组 $a$ (此处方便讲解,忽略下标 $0$ )有这 $5$ 个数字: $1,3,2,1 阅读全文
posted @ 2023-05-14 10:58 SHOJYS 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 蓝桥杯撞题NOIP原题,做法也一模一样(撞题:NOIP2013提高组 货车运输) 由题意可得这是让我们先求一个最大生成树(把求最小生成树反过来求即可),再求最小边权。 求最大生成树我们可以用并查集+排序做出。 求最小边权我们可以LCA,也可以树链剖分+线段树维护。后者码量太大~~(本人太懒)~~,没 阅读全文
posted @ 2023-05-14 10:52 SHOJYS 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 方法:单调队列 为什么是单调队列?因为这里让我们求连续的质数和,我们可以利用欧拉筛来维护质数,再利用单调队列来维护连续的质数。 代码( ~~POJ 不支持 C++ 11 差评~~): #include<cstdlib> #include<cstring> #include<cstdio> #incl 阅读全文
posted @ 2023-05-07 11:19 SHOJYS 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 求组合数 递推法: $$C_a^b=C_{a-1}^b+C_{a-1}^{b-1}$$ 一般 $a,b\le2000$ ,预处理时间复杂度:$O(n^2)$ 。 代码: #define NUMBER1 1919 const int mod=1801; typedef long long LL; LL 阅读全文
posted @ 2023-02-10 23:16 SHOJYS 阅读(52) 评论(0) 推荐(0) 编辑