随笔分类 - 数据结构 - 线段树
摘要:题目描述 给定一棵n个点的有根树,编号依次为1到n,其中1号点是根节点。每个节点都被染上了某一种颜色,其中第i个节点的颜色为c[i]。如果c[i]=c[j],那么我们认为点i和点j拥有相同的颜色。定义depth[i]为i节点与根节点的距离,为了方便起见,你可以认为树上相邻的两个点之间的距离为1。站在
阅读全文
摘要:题目描述 给出一个长度为 的序列,支持 次操作,操作有四种:区间加、区间下取整除、区间求最小值、区间求和。 ,每次加的数在 之间,每次除的数在 之间。 题解 线段树+均摊分析 和 【uoj#228】基础数
阅读全文
摘要:题目描述 给出一棵n个点、以1为根的有根树,点有点权。要求支持如下两种操作: M x y:将点x的点权改为y; Q x:求以x为根的子树的最大连通子块和。 其中,一棵子树的最大连通子块和指的是:该子树所有子连通块的点权和中的最大值 (本题中子连通块包括空连通块,点权和为0)。 给出一棵n个点、以1为
阅读全文
摘要:题目描述 给出一棵树,点有点权。多次增加某个点的点权,并在某一棵子树中询问:选出若干个节点,使得每个叶子节点到根节点的路径上至少有一个节点被选择,求选出的点的点权和的最小值。 输入 输入文件第一行包含一个数n,表示树的大小。 接下来一行包含n个数,表示第i个点的权值。 接下来n-1行每行包含两个数f
阅读全文
摘要:题目描述 给出 个瓶子和无限的水,每个瓶子有一定的容量。每次你可以将一个瓶子装满水,或将A瓶子内的水倒入B瓶子中直到A倒空或B倒满。 次操作,每次给 内的瓶子容量增加 ,或询问使用 内瓶子能够凑出的最小体积。 输入 第一行包括两个数字:瓶子数n,
阅读全文
摘要:题目描述 维护一个向量集合,在线支持以下操作:"A x y (|x|,|y| < =10^8)":加入向量(x,y);"Q x y l r (|x|,|y| < =10^8,1 < =L < =R < =T,其中T为已经加入的向量个数)":询问第L个到第R个加入的向量与向量(x,y)的点积的最大值。
阅读全文
摘要:题目描述 给定一个长度为 N 序列,编号从 1 到 N 。要求支持下面几种操作:1.给一个区间[L,R] 加上一个数x 2.把一个区间[L,R] 里小于x 的数变成x 3.把一个区间[L,R] 里大于x 的数变成x 4.求区间[L,R] 的和5.求区间[L,R] 的最大值6.求区间[L,R] 的最小
阅读全文
摘要:题目描述 维护一个长度为N的序列a,现在有三种操作: 1)给出参数U,V,C,将a[U],a[U+1],...,a[V-1],a[V]都赋值为C。 2)给出参数U,V,C,对于区间[U,V]里的每个数i,将a[i]赋值为max(a[i]+C,0)。 3)给出参数U,V,输出a[U],a[U+1],.
阅读全文
摘要:题目描述 给你一个序列,支持4种操作:1.查询区间最大值;2.查询区间历史最大值;3.区间加;4.区间赋值。 输入 第一行一个正整数T,表示Bob需要监视CPU的总时间。 然后第二行给出T个数表示在你的监视程序执行之前,Bob干的事让CPU在这段时间内每个时刻的使用率达已经达到了多少。 第三行给出一
阅读全文
摘要:题目描述 输入 第一行包含一个正整数N,表示树中结点的个数。第二行包含N个正实数,第i个数表示xi (1<=xi<=10^5)。第三行包含N个正实数,第i个数表示yi (1<=yi<=10^5)。第四行包含N个正实数,第i个数表示pi (1<=pi<=10^5)。第五行包含N个正实数,第i个数表示q
阅读全文
摘要:题目描述 给一颗n个节点的树,边权均为1,初始点权均为0,m次操作:Q x:询问x的点权。M x d w:将树上与节点x距离不超过d的节点的点权均加上w。 输入 第一行两个正整数:n,m接下来的n-1行,每行三个正整数u,v,代表u,v之间有一条边。接下来的m行,每行给出上述两种操作中的一种。 输出
阅读全文
摘要:题目描述 在一片土地上有N个城市,通过N-1条无向边互相连接,形成一棵树的结构,相邻两个城市的距离为1,其中第i个城市的价值为value[i]。不幸的是,这片土地常常发生地震,并且随着时代的发展,城市的价值也往往会发生变动。接下来你需要在线处理M次操作:0 x k 表示发生了一次地震,震中城市为x,
阅读全文
摘要:题目描述 你要维护一个向量集合,支持以下操作: 1.插入一个向量(x,y) 2.删除插入的第i个向量 3.查询当前集合与(x,y)点积的最大值是多少。如果当前是空集输出0 输入 第一行输入一个整数n,表示操作个数 接下来n行,每行先是一个整数t表示类型,如果t=1,输入向量 (x,y);如果t=2,
阅读全文
摘要:题目描述 P 博士将他的计算任务抽象为对一个整数的操作。 具体来说,有一个整数 ,一开始为0。 接下来有 个操作,每个操作都是以下两种类型中的一种: 1 a b :将 加上整数 ,其中 为一个整数, 为一个非负整数 2 k :询问 在用二
阅读全文
摘要:题目描述 给出一个长度为 的序列,序列中每一个数都是正整数。现在给出 个指定区间以及 次操作,每次操作将某个位置的数-1(最多减到0),并询问有多少个指定区间的区间和为0。强制在线。 给出一个长度为 的序列,序列中每一个数都是正整数。现在给出 个指定区间以及
阅读全文