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