线段树
# 线段树
SSL_LKJ
蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名
展开
-
P4513 小白逛公园(线段树)
小白逛公园 题目传送门 输入样例 5 3 1 2 -3 4 5 1 2 3 2 2 -1 1 2 3 输出样例 2 -1 解题思路 用线段树的每个节点维护:sum(区间和),maxx(区间最大子段和),lmax(从区间左端点开始的最大子段和),rmax(从区间右端点开始的最大子段和) AC #include<iostream> #include<cstdio> using namespace std; int n,m,a[500005]; struct node { i原创 2021-07-12 11:49:06 · 153 阅读 · 0 评论 -
区间查改(线段树)
区间查改 输入样例 5 10 2 6 6 1 1 2 1 4 1 2 5 10 2 1 3 2 2 3 1 2 2 8 1 2 3 7 1 4 4 10 2 1 2 1 4 5 6 2 3 4 输出样例 15 34 32 33 50 解题思路 线段树区间修改+区间查询的模板题 AC代码 #include<cstdio> using namespace std; int n,q,a[10000005],add[10000005]; long long sum[10000005]; void原创 2021-07-09 11:01:42 · 79 阅读 · 0 评论 -
求区间和(线段树)
求区间和 输入样例 10 20 0 1 10 1 1 4 0 6 6 1 4 10 1 8 9 1 4 9 0 10 2 1 1 8 0 2 10 1 3 9 0 7 8 0 3 10 0 1 1 1 3 8 1 6 9 0 5 5 1 1 8 0 4 2 1 2 8 0 1 1 输出样例 10 6 0 6 16 6 24 14 50 41 解题思路 本题为线段树模板题 可参考线段树练习题一(线段树) AC代码 #include<cstdio> using namespace std;原创 2021-07-08 11:00:08 · 88 阅读 · 0 评论 -
线段树练习五(线段树)
线段树练习五 Description 一行N个方格,开始每个格子里的数都是0。现在动态地提出一些问题和修改:提问的形式是求某一个特定的子区间[a,b]中所有元素的和;修改的规则是指定某一个格子x,加上或者减去一个特定的值A。现在要求你能对每个提问作出正确的回答。1≤N≤100000,提问和修改的总数可能达到100000条。 Input 20 //方格个数 6 //有几组操作 M 1 1 //表示修改,第一个表示格子位置,第二个数表示在原来的基础上加上的数, M 2 2 M 3 4 M 3 -5 M 6 7原创 2020-07-22 10:56:28 · 795 阅读 · 0 评论 -
线段树练习四(线段树)
线段树练习四 Description 在平面内有一条长度为n的线段(不计入答案),可以对进行以下2种操作: 1、把从x到y的再加一条线段 2、查询从x到x+1有多少条线段 Input 第一行输入n,m 第2~m+1行,每行2个数x,y,表示从x到y再加一条线段 最后一行输入2个数,为x和x+1,查询x到x+1的线段数目 Output 输出x到x+1的线段数目 Sample Input 7 2 2 5 3 6 4 5 Sample Output 2 Hint 【数据规模】 100%满足1≤n≤100000,1原创 2020-07-22 10:54:17 · 788 阅读 · 0 评论 -
线段树练习题三(线段树)
线段树练习题三 Description 给定一条长度为m的线段,有n个操作,每个操作有3个数字x,y,z表示把区间[x,y]染成颜色z,询问染完色之后,这条长度为m的线段一共有几种颜色。规定:线段的颜色可以相同。连续的相同颜色被视作一段。问x轴被分成多少段。 Sample Input 20 //四条,总长度为20 10 19 1 2 9 2 5 13 3 15 17 4 Sample Output 7 Hint 数据规模 N <= 10000 M <= 1000000 ...原创 2020-07-22 10:52:32 · 857 阅读 · 0 评论 -
线段树练习题二(线段树)
线段树练习题二 Description 桌子上零散地放着若干个不同颜色的盒子,桌子的后方是一堵墙。如右图所示。问从桌子前方可以看到多少个盒子?假设人站得足够远(输入时,由底向上,从左到右)。 Sample Input 16 //桌子长度 5 // 盒子数量 4 7 12 14 1 5 6 10 11 16 Sample Output 4 Hint 1<=n<=100000,1<=m<=100000,保证坐标范围为[1,n]. ...原创 2020-07-22 10:50:56 · 801 阅读 · 0 评论 -
线段树练习题一(线段树)
线段树练习五 Description 一行N个方格,开始每个格子里的数都是0。现在动态地提出一些问题和修改:提问的形式是求某一个特定的子区间[a,b]中所有元素的和;修改的规则是指定某一个格子x,加上或者减去一个特定的值A。现在要求你能对每个提问作出正确的回答。1≤N≤100000,提问和修改的总数可能达到100000条。 Input 20 //方格个数 6 //有几组操作 M 1 1 //表示修改,第一个表示格子位置,第二个数表示在原来的基础上加上的数, M 2 2 M 3 4 M 3 -5 M 6 7原创 2020-07-22 10:42:24 · 1023 阅读 · 0 评论