![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
Liukairui
这个作者很懒,什么都没留下…
展开
-
计蒜客习题:斑点蛇
问题描述有一种神奇斑点蛇,蛇如其名,全身都是斑点,斑点数量可以任意改变。 有一天,蒜头君十分的无聊,开始数蛇上的斑点。假设这条蛇的长度是N cm,蒜头君已经数完开始时蛇身的第i上有ai个斑点。 现在蒜头君想知道这条斑点蛇的任意区间的蛇身上一共有多少个斑点。这好像是一个很容易的 事情,但是这条蛇好像是和蒜头君过不去,总是刻意的改变蛇身上的斑点数量。 于是,蒜头君受不了了,加上蒜头...原创 2018-06-17 11:37:20 · 465 阅读 · 0 评论 -
计蒜客习题:矩形的周长并
问题描述在一个二维坐标平面中,有 n 个矩形,每个矩形的边都是平行于 x 轴或 y 轴的。给定这 n 个矩形的位置,这 n 个矩形之间可以相互覆盖。 求这 n 个矩形所组成的图形的周长是多少。 输入格式 第一行输入一个整数 n,表示平面中矩形的数量。(1≤n≤50000) 接下来 n 行,每行四个整数 x1, y1, x2, y2 表示每个矩形左下角的坐标和右上角的坐标。(0≤x1...转载 2018-07-05 10:25:01 · 942 阅读 · 0 评论 -
计蒜客习题:奇怪的报数游戏
问题描述蒜头君所在的“蒜厂”在玩一个奇怪的报数游戏。一共有 n 个人参与游戏(蒜头君不在其中),首先给每个人一个编号,分别为 1,2,3,…,n。之后,这些人按照某个顺序站成一队,并告诉蒜头君,他们各自前面有多少人的编号比自己小。 现在,你能帮蒜头计算出来队伍中每个人的编号依次是多少么? 输入格式 第一行一个整数 N(2≤N≤500000)。 第 2 行到第 N 行,每行一个整数,...原创 2018-07-05 09:59:12 · 1016 阅读 · 0 评论 -
计蒜客习题:学校的宣传板
问题描述计蒜理工大学有一个宣传板,大大小小事情的宣传都会往上面贴,上面布满了各种宣传海报。时间一长,上面的海报越来越多,一些陈旧的海报被新的完全覆盖掉了,一点都看不到了。 宣传板的高度和所有海报的高度都是一样的,但是宣传板很长。宣传板的长度为 m,每次贴完海报,都会做一个记录,这张海报贴在了宣传板的 a 到 b 处。 希望你能通过这些数据,来计算出宣传板上有多少张海报是可以看到的。(只要能...转载 2018-07-05 09:21:51 · 484 阅读 · 0 评论 -
计蒜客习题:排序
问题描述你需要分析排序算法,将 n 个互不相同的整数,通过交换两个相邻的元素使得数列有序的 最少交换次数。 比如,原数列为: 9,1,0,5,4 排序后的数列为: 0,1,4,5,9 输入格式 第一行一个整数 n(n≤500000)。 接下来 n 行,每行一个整数 ai(ai≤10^9)。 输出格式 输出一个整数,表示操作次数。 样例输入591054样例输...原创 2018-07-05 08:27:39 · 1103 阅读 · 2 评论 -
计蒜客习题:蒜头君的任务
问题描述蒜头君的上司给蒜头君布置了一个任务,蒜头君维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾 L 个数中的最大的数,并输出这个数的值。 2、 插入操作。语法:A n 功能:将 n 加上 t,其中 t 是最近一次查询操作的答案(如果还未执行过查询操作,则 t=0),并将所得结果对一个固定的常数 D 取模,将所得答案插入到数列的末尾。 初始时...原创 2018-07-05 00:09:37 · 1751 阅读 · 1 评论 -
计蒜客习题:校长的问题
问题描述学校中有 n 名学生,学号分别为 1…n。再一次考试过后,学校按照学生的分数排了一个名次(分数一样,按照名字的字典序排序)。你是一名老师,你明天要和校长汇报这次考试的考试情况,校长询问的方式很奇怪,比如说:“学号前 a 的人中,排名前 b 的有多少人?”。 校长问了一堆这样的问题,你需要今天全部计算出来,明天好向他汇报。 输入格式 第一行俩个整数,n 和 m,分别表示学校学生的数...原创 2018-07-04 23:42:35 · 485 阅读 · 0 评论 -
计蒜客习题:矩阵操作
问题描述给出 N×N 的矩阵 A,其中的元素是 0 或 1。初始时均为 0。 我们可以修改矩阵,给定左上角(x1,y1),和右下角 (x2,y2),对这个矩阵的所有元素执行取反操作,即 0 变成 1,1 变成 0。现在我们一共有两种操作: C x1 y1 x2 y2 (1≤x1≤x2≤n,1≤y1≤y2≤n),修改矩形 Q x y(1≤x,y≤n) 查询 Ax+…+Ay 的值 输入格式...原创 2018-07-04 23:41:09 · 613 阅读 · 0 评论 -
计蒜客习题:矩阵查询
问题描述给出 N×N 的矩阵 A,初始时均为 0。我们需要支持两种操作: C x1 y1 c,表示 (x1,y1) 上的元素加上 c。 (1≤x1,y1≤N,1≤c≤100) Q x1 y1 x2 y2,查询子矩阵元素之和。 (1≤x1≤x2≤N,1≤y1≤y2≤N) 输入格式 第一行两个整数 N,Q(1≤N≤1000,1≤Q≤50000)。接下来 Q 行,每行一个操作。 输出...原创 2018-07-04 23:39:59 · 414 阅读 · 0 评论 -
计蒜客习题:木桩涂涂看
问题描述n 个木桩排成一排,从左到右依次编号为 1,2,3…n。每次给定 2 个整数 a,b(a≤b),蒜头君便骑上他的电动车从木桩 a 开始到木桩 b 依次给每个木桩涂一次颜色。但是 n 次以后 lele 已经忘记了第 i 个木桩已经涂过几次颜色了,你能帮他算出每个木桩被涂过几次颜色吗? 输入格式 第一行是一个整数 n(n≤100000)。 接下来的 n 行,每行包括两个整数 a, b...原创 2018-07-04 16:04:28 · 632 阅读 · 0 评论 -
计蒜客习题:棋子等级
问题描述坐标系平面上有好多棋子,每个整点上至多有一个棋子。 假定棋子的等级是左下方的棋子个数,现在给出若干棋子的位置,求不同等级的棋子各有多少个。左下方包含正下和正右。说明(0, 0) 坐标的位置在左下角。 输入格式 第一行一个整数 N (1≤N≤100000) 接下来 N 行,一行两个整数 X,Y (0≤X,Y<100000),表示坐标。 数据保证坐标先按 Y 排序,再按 ...原创 2018-07-04 15:35:11 · 540 阅读 · 1 评论 -
计蒜客习题:区间整数操作
问题描述给出 N 个整数 A1,A2,…,AN,你需要处理区间加,区间求和。 输入格式 第一行两个整数 N 和 Q (1≤N,Q≤10^5)。 第二行 N 个整数,表示 A1,A2…AN(∣Ai∣≤10^9)的初始值。 接下来 Q 行,每行一个操作: C a b c,表示 Aa,Aa+1…Ab 每个数加 c (∣c∣≤10000)。 Q a b,表示询问 Aa,Aa+1…Ab 的...原创 2018-07-04 14:56:02 · 484 阅读 · 0 评论 -
计蒜客习题: 黑白石头
问题描述沙滩上有一些石头,石头的颜色是白色或者黑色。小羊会魔法,它能把连续一段的石头,黑色变成白色,白色变成黑色。小羊喜欢黑色,她想知道某些区间中最长的连续黑石头是多少个。 输入格式 第一行一个整数 n(1≤n≤100000)。 第二行 n 个整数,表示石头的颜色,0 是白色,1 是黑色。 第三行一个整数 m(1≤m≤100000)。 接下来 m 行,每行三个整数 x,i,j。 x...原创 2018-07-04 00:28:57 · 675 阅读 · 0 评论 -
计蒜客习题:帕吉的肉钩
问题描述在 DotA 游戏中,帕吉的肉钩是很多英雄最害怕的东西。钩子由连续若干段的等长金属棒制成。 现在帕吉对钩子由一些操作: 我们将金属棒 1~n 依次编号,帕吉可以把编号 x~y 的金属棒变成铜棒、银棒、金棒。 每段铜棒的价值是 1;每段银棒的价值是 2;每段金棒的价值是 3。 肉钩的总价值是 n 段金属棒价值之和。 帕吉想知道若干操作以后钩子的总价值。 输入格式 第一行一...原创 2018-07-03 22:47:23 · 444 阅读 · 0 评论 -
计蒜客习题:公告板
问题描述蒜厂有一个 h×w 的矩形公告板,其中 h 是高度,w 是宽度。 现在有若干张 1×Wi 的公告, Wi 是宽度,公告只能横着放,即高度为 1 的边垂直于水平面,且不能互相有重叠,每张公告都要求尽可能的放在最上面的合法的位置上。 若可以放置,输出每块可放置的位置的行号;若不存在,输出 −1。行号由上至下分别为 1,2,…,h。 输入格式 第一行三个整数 h,w,n (1≤h,w...原创 2018-07-03 22:25:20 · 686 阅读 · 0 评论 -
计蒜客习题:最甜的苹果
问题描述蒜头君有很多苹果,每个苹果都有对应的甜度值。 蒜头君现在想快速知道从第 i 个苹果到第 j 个苹果中,最甜的甜度值是多少。 因为存放时间久了,有的苹果会变甜,有的苹果会因为腐烂而变得不甜,所以蒜头君有时候还需要修改第 iii 个苹果的甜度值。 输入格式第一行输入两个正整数N,M(0输出格式在一行里面输出每次询问的最高甜度值。 样例输入5 61 2 3 ...原创 2018-07-03 22:14:57 · 450 阅读 · 0 评论 -
计蒜客习题:矩形的面积并
问题描述在一个二维坐标平面中,有 n 个矩形,每个矩形的边都是平行于 x 轴或 y 轴的。给定这 n 个矩形的位置,这 n 个矩形之间可以相互覆盖。 求这 n 个矩形所占用的平面总面积是多少。 输入格式 第一行输入一个整数 n,表示平面中矩形的数量。(1≤n≤50000) 接下来 n 行,每行四个整数 x1, y1, x2, y2 表示每个矩形左下角的坐标和右上角的坐标。(0≤x1...转载 2018-07-05 10:29:12 · 1435 阅读 · 0 评论