线段树
文章平均质量分 50
旺 崽
这个作者很懒,什么都没留下…
展开
-
HDUOJ 6703 array
HDUOJ 6703 array题目链接Problem DescriptionYou are given an array a1,a2,…,an(∀i∈[1,n],1≤ai≤n). Initially, each element of the array is unique.Moreover, there are m instructions.Each instruction is in one of the following two formats:(1,pos),indicating t原创 2020-09-18 10:27:10 · 2461 阅读 · 0 评论 -
CSP 202012-5 星际旅行(60分)
题目链接一个优秀的 OI 选手一定要学会如何在实力范围内骗最大的分,我们每一题可以都不求满分,但是要尽可能拿到最多的分~就拿这题来说,个人觉得比那道模拟好拿分,首先看第一个 20 分,看数据范围很明显就是送的,就是暴力,这个 20 分一定要拿到手~接着看第二个 20 分,只有区间更新和区间求助,非常明细的线段树,送分~接着看第三个 20 分,这里就比较难了,我们发现此时的线段树要两种操作,一个区间加值,一个区间求值,此时我们需要先乘再加,添加一个乘的懒惰标记,具体模改看我代码~到这里你就已经有了原创 2021-03-16 21:40:40 · 2665 阅读 · 0 评论 -
Panasonic Programming Contest (AtCoder Beginner Contest 186) F.Rook on Grid
Panasonic Programming Contest (AtCoder Beginner Contest 186) F.Rook on Grid题目链接原创 2020-12-26 20:56:12 · 2449 阅读 · 0 评论 -
2020 China Collegiate Programming Contest - Mianyang Site J. Joy of Handcraft
2020 China Collegiate Programming Contest - Mianyang Site J. Joy of Handcraft题目链接Little Horse always does some handcrafts, which is full of joy. This time, he builds a circuit that can turn on and off the bulbs periodically.There are n bulbs in the circ原创 2020-12-09 23:21:13 · 2362 阅读 · 0 评论 -
ACL Beginner Contest E.Replace Digits
ACL Beginner Contest E.Replace Digits题目链接设计区间修改的题目通常都是线段树~因为线段树一般都是求区间的和,这题因为涉及到十进制的加减,所以我们可以存两种线段树,线段树 sss 每一位存初始值 111,101010,100100100,⋯\cdots⋯,tagtagtag 为懒惰标记,记录每次区间修改的值,线段树 treetreetree 记录修改后的线段树,很明显tree[i]=tag[i]∗s[i]tree[i]=tag[i]*s[i]tree[i]=ta原创 2020-10-01 16:19:01 · 2475 阅读 · 0 评论 -
ACL Beginner Contest D.Flat Subsequence
ACL Beginner Contest D.Flat Subsequence题目链接这种找最长的很容易想到 DP,类比最长上升子序列,我们对每个位置 iii,答案就是 [∣a[i]−k∣,a[i]+k][|a[i]-k|,a[i]+k][∣a[i]−k∣,a[i]+k] 中的最长序列长度加 1,但是此时复杂度是 O(n2)O(n^2)O(n2),显然是不行的,所以要优化,对查询区间的最大值,我们容易想到线段树,没错,这题就是一道隐藏的线段树,只需要每次插入时更新一下答案即可,AC代码如下:#inc原创 2020-09-30 19:01:35 · 2523 阅读 · 0 评论 -
POJ 2777 Count Color
POJ 2777 Count Color题目链接DescriptionChosen Problem Solving and Program design as an optional course, you are required to solve all kinds of problems. Here, we get a new problem.There is a very long board with length L centimeter, L is a positive integer原创 2020-09-16 10:58:19 · 2538 阅读 · 2 评论 -
HDUOJ 1166 敌兵布阵
HDUOJ 1166 敌兵布阵题目链接Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报原创 2020-09-13 16:34:38 · 2400 阅读 · 0 评论 -
HDUOJ 4027 Can you answer these queries?
HDUOJ 4027 Can you answer these queries?题目链接Problem DescriptionA lot of battleships of evil are arranged in a line before the battle. Our commander decides to use our secret weapon to eliminate the battleships. Each of the battleships can be marked a va原创 2020-09-13 15:39:19 · 2438 阅读 · 0 评论 -
牛客 14402 求最大值
牛客 14402 求最大值题目链接题目描述给出一个序列,你的任务是求每次操作之后序列中 (a[j]-a[i])/(j-i)【1<=i<j<=n】的最大值。操作次数有Q次,每次操作需要将位子p处的数字变成y.输入描述:本题包含多组输入,每组输入第一行一个数字n,表示序列的长度。然后接下来一行输入n个数,表示原先序列的样子。再接下来一行一个数字Q,表示需要进行的操作的次数。最后Q行每行两个元素p,y,表示本操作需要将位子p处的数字变成y.数据范围:3<=n<=原创 2020-09-12 22:19:35 · 2412 阅读 · 0 评论 -
洛谷 P3373 【模板】线段树 2
洛谷 P3373 【模板】线段树 2题目链接题目描述如题,已知一个数列,你需要进行下面三种操作:将某区间每一个数乘上 x将某区间每一个数加上 x求出某区间每一个数的和输入格式第一行包含三个整数 n,m,p,分别表示该数列数字的个数、操作的总个数和模数。第二行包含 n 个用空格分隔的整数,其中第 ii 个数字表示数列第 ii 项的初始值。接下来 m 行每行包含若干个整数,表示一个操作,具体如下:操作 1: 格式:1 x y k 含义:将区间 [x,y] 内每个数乘上 k原创 2020-09-12 21:35:38 · 2576 阅读 · 0 评论 -
洛谷 P3372 【模板】线段树 1
洛谷 P3372 【模板】线段树 1题目链接题目描述如题,已知一个数列,你需要进行下面两种操作:将某区间每一个数加上 kk。求出某区间每一个数的和。输入格式第一行包含两个整数 n, m,分别表示该数列数字的个数和操作的总个数。第二行包含 n 个用空格分隔的整数,其中第 ii 个数字表示数列第 ii 项的初始值。接下来 m 行每行包含 3 或 4 个整数,表示一个操作,具体如下:1 x y k:将区间 [x, y] 内每个数加上 k。2 x y:输出区间 [x, y] 内每个数的和。输原创 2020-09-12 18:59:13 · 2556 阅读 · 0 评论 -
牛客小白月赛6 F.发电
牛客小白月赛6 F.发电题目链接题目描述HA实验是一个生产、提炼“神力水晶”的秘密军事基地,神力水晶可以让机器的工作效率成倍提升。HA实验基地有n台发电机,标号为1-n,每台发电机的发电效率为1。为了满足基地的用电需求,HtBest会在某台发电机上镶嵌一个等级为i的神力水晶,该发电机的发电效率是镶嵌神力水晶之前的i倍,一个发电机可以同时镶嵌多个神力水晶。但是神力水晶有时还有别的用处,HtBest会拆掉某台发电机之前镶嵌上的一个神力水晶(设等级为i),发电机效率降为拆掉神力水晶前的1/i。HtB原创 2020-09-01 19:29:30 · 2352 阅读 · 0 评论 -
超级码力在线编程大赛初赛 第2场 2.区间异或
超级码力在线编程大赛初赛 第2场 2.区间异或题目链接描述有一个数组num,现在定义区间对的和等于:左区间的最大值加右区间的最小值 由于小栖特别能突发奇想,他突然想知道多个区间对和的异或和是多少0≤num≤500000\leq num\leq 500000≤num≤500000≤num[i]≤10000000000\leq num[i]\leq 10000000000≤num[i]≤1000000000len(ask)=4len(ask)=4len(ask)=4,分别表示 l1,r1,l2,r2原创 2020-08-30 15:37:56 · 2575 阅读 · 0 评论 -
HDUOJ 3974 Assign the task
HDUOJ 3974 Assign the task题目链接Problem DescriptionThere is a company that has N employees(numbered from 1 to N),every employee in the company has a immediate boss (except for the leader of whole company).If you are the immediate boss of someone,that pers原创 2020-07-10 16:09:31 · 2343 阅读 · 0 评论 -
POJ 2892 Tunnel Warfare
POJ 2892 Tunnel Warfare题目链接DescriptionDuring the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast areas of north China Plain. Generally speaking, villages connected by tunnels lay in a line. Except the two at the e原创 2020-07-07 09:41:04 · 2410 阅读 · 0 评论 -
牛客小白月赛20 E.区区区间
牛客小白月赛20 E.区区区间题目描述Keven 特别喜欢线段树,他给你一个长度为 n 的序列,对序列进行m 次操作。(略)输入描述:第一行两个整数 n、mn、m,表示序列的长度和操作次数(1<=n,m<=2e5)(1<=n,m<=2e5)第二行 nn 个整数,表示序列的初始值 a1,a2,…an(1<=ai<=2e5)a1,a2 ,…an (1...原创 2019-12-26 20:36:04 · 2759 阅读 · 0 评论 -
HDUOJ 1754 I Hate It
HDUOJ 1754 I Hate ItProblem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N...原创 2019-07-20 22:19:47 · 703 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers
POJ 3468 A Simple Problem with IntegersYou have N integers, A1, A2, … , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given ...原创 2019-08-09 18:49:40 · 5402 阅读 · 0 评论 -
HHUOJ 1405 区间查询
HHUOJ 1405 区间查询题目描述食堂有N个打饭窗口,现在正到了午饭时间,每个窗口都排了很多的学生,而且每个窗口排队的人数在不断的变化。现在问你第i个窗口到第j个窗口一共有多少人在排队?输入输入的第一行是一个整数T,表示有T组测试数据。每组输入的第一行是一个正整数N(N<=30000),表示食堂有N个窗口。接下来一行输入N个正整数,第i个正整数ai表示第i个窗口最开始有ai...原创 2019-08-09 18:49:30 · 2532 阅读 · 0 评论 -
HHUOJ 1406 最高分是多少
HHUOJ 1406 最高分是多少题目描述老师想知道从某某同学到某某同学当中,分数最高的是多少。现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。输入输入包含多组测试数据。每组输入第一行是两个正整数N和M(0<N<=30000,0<M<5000),分表代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初...原创 2019-08-09 18:49:17 · 5780 阅读 · 0 评论 -
HDUOJ 1698 Just a Hook
HDUOJ 1698 Just a HookProblem DescriptionIn the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks...原创 2019-08-09 18:49:03 · 2523 阅读 · 0 评论