线段树
mmk27
这个作者很懒,什么都没留下…
展开
-
ICPC Asia HongKong 2017
南京已成炮灰,徐州加油!A:java二分import java.math.*;import java.util.*;public class Main { public static void main(String [] args){ Scanner cin=new Scanner(System.in); int t,n; BigInteger z,zn,znjyn,...原创 2019-10-29 21:18:38 · 132 阅读 · 0 评论 -
CodeForces - 374D Inna and Sequence 线段树
题目连接:https://vjudge.net/problem/CodeForces-374D题意:n次操作,先给出m个数,原先有一个空序列,每次操作给出一个数,为1或0都放在后面,为-1时,删除m个位置的数题解:只看n和m是很大的不能直接操作,但是单看每个数的贡献来说,对于每个数,插入和删除只有两次,所以复杂度是nlogn,那就看怎么删除了,删除的时候就看剩下的数够不够删的就可了#...原创 2019-10-22 16:56:42 · 132 阅读 · 0 评论 -
Gym - 102307E Extreme Image 线段树 扫描线
题目链接:https://vjudge.net/problem/Gym-102307E题意:平面上n个点,给定区域的w和d范围,求区域最大的点数题解:其实和在平面上给定长和宽 是一样的道理,这个只需要对角度排序,然后对于每个点保存[x - d, d] 然后取最大值即可,注意一点是因为他是一圈,所以n个点再加n个放到后面继续求即可,但这个比较坑的是,w是小数,直接比较在case12就错了,因...原创 2019-10-15 20:02:57 · 250 阅读 · 0 评论 -
Gym - 102307J Jail Destruction 线段树
题目链接:https://vjudge.net/problem/Gym-102307JThe semester has just begun at Universidad Nacional (UNAL). As usual, a group of vandals enjoys bringing chaos to all students and damaging the university ...原创 2019-10-12 21:58:37 · 389 阅读 · 0 评论 -
2019杭电多校 HDU 6601 Keen On Everything But Triangle 线段树 或 主席树
题目链接:https://vjudge.net/problem/HDU-6601题意:区间组成最大的三角形周长是多少题解:根据斐波那契的性质,在1e9内最多有47个数就一定能组成三角形,所以线段树维护下区间的前50大的数,然后每次查询的时候用滚动数组更新一下即可,当然也可以用主席树写,先离散化,记录下每个数的数目,查询前50大即可#include <bits/stdc++.h&...原创 2019-07-24 21:06:17 · 200 阅读 · 0 评论 -
2019杭电多校 HDU - 6602 Longest Subarray 线段树 标记更新
题目链接:https://vjudge.net/problem/HDU-6602题意:求一个最长的区间,满足每个数的数量要么大于k,要么为0题解:官方题解:如果右端点固定,对于每种元素,可行的左端点下标是两段连续的区间。对于每种元素,将它的可行左端点区间在线段树中加一。 当右端点右移的时候,维护C 种元素的可行左端点。 查询时只需要询问线段树中最小的、值为C 的下标即可。我是用ve...原创 2019-07-24 22:20:43 · 570 阅读 · 0 评论 -
2019杭电多校 HDU - 6609 Find the answer 线段树
题目链接:https://vjudge.net/problem/HDU-6609题意:前 i 个数至少去掉多少数,满足和小于等于m题解:先离散化,线段树区间 [l, r],维护前 i 个的,权值在[l, r] 内的数量和权值和,每次查询m-a[i] 的最大数量即可#include <bits/stdc++.h>using namespace std;const int...原创 2019-07-30 09:22:18 · 187 阅读 · 0 评论 -
HDU - 6194 string string string 后缀数组 + 线段树 or 后缀自动机
题目链接:https://vjudge.net/problem/HDU-6194题意:出现k次的字符串有多少个题解:后缀数组把h数组跑出来,然后线段树维护下,每次查询连续k个后缀的的公共长度,并且不能和前一个和后一个一样后缀自动机也可以,学会后再补上#include<iostream>#include<cstdio>#include<cstrin...原创 2019-08-02 16:27:41 · 114 阅读 · 0 评论 -
2019 牛客多校 C Governing sand 线段树
链接:https://ac.nowcoder.com/acm/contest/887/C来源:牛客网Governing sand时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述The Wow village is often hit by wind and sand,the...原创 2019-08-08 21:36:56 · 312 阅读 · 0 评论 -
2018 焦作网络预赛 E: Jiu Yuan Wants to Eat 树链剖分
题目链接:https://nanti.jisuanke.com/t/A2015题意:一个树,4中操作,分别是两点间路径的,乘、加、异或、和题解:对应乘和加,就很简单了,两个laz标记,对于加的直接更新,对于乘的,还要把加的laz也要乘上,那么就是异或了,刚开始没有注意到模数,一直在想分开对于某一位进行标记,但是这个的膜是2^64,那么也就是总共的64位了,这里也要用ull, ...原创 2019-08-02 23:17:29 · 203 阅读 · 0 评论 -
Contest1776 - 2019年第二阶段我要变强个人训练赛第九场 2019xupt-acm校赛
链接:http://icpc.upc.edu.cn/contest.php?cid=1776A:括号匹配2019猜的,证明等会了再补上#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=110;const ll mod=1e9+7;int n,k;char s[...原创 2019-06-30 23:19:54 · 188 阅读 · 0 评论 -
吉首大学2019年程序设计竞赛(重现赛)
题目链接:https://ac.nowcoder.com/acm/contest/992#question链接:https://ac.nowcoder.com/acm/contest/992/A来源:牛客网A、SARS病毒时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述目...原创 2019-07-14 17:12:44 · 892 阅读 · 0 评论 -
2019西安邀请赛 E-Tree 树链剖分+线段树
题目链接:https://nanti.jisuanke.com/t/39272题意:n个点的树。每个点有一个权值,3种操作1 s t,1到s的路径上所有点或上t2 s t,1到s的路径上所有点与上t3 s t,1到s的路径上所有点的加上 t 进行尼姆游戏看先手是否能胜出题解:很明显这个题的是要用树链剖分来做,问题就在于我们怎么处理或和与这两种操作,我们拆成二进制来看,对于或来说...原创 2019-05-31 15:18:06 · 364 阅读 · 0 评论 -
蓝桥杯2014年第五届 套娃 线段树 dfs序
题目链接:https://www.dotcpp.com/oj/problem1822.html题目描述作为 drd 送的生日礼物,atm 最近得到了一个俄罗斯娃娃。他对这个俄罗斯娃娃的构造很感兴趣。 俄罗斯娃娃是一层一层套起来的。假设:一个大小为 x 的俄罗斯娃娃里面可能会放任意多个大小小于 x 的俄罗斯娃娃(而市场上的套娃一般大娃里只能放一个小娃)。 drd 告诉 at...原创 2019-05-20 22:10:48 · 533 阅读 · 1 评论 -
“美登杯”上海市高校大学生程序设计邀请赛 (华东理工大学)E. 小花梨的数组
题目链接:https://acm.ecnu.edu.cn/contest/173/problem/E/题意:Description 小花梨得到了一个长度为原创 2019-05-19 17:02:16 · 187 阅读 · 0 评论 -
2019浙江省赛A ZOJ - 4100 Vertices in the Pocket 线段树+二分
题目链接:https://cn.vjudge.net/problem/ZOJ-4100题意:n个点,q次操作,1,x,y链接x和y,2,x加上x条边,问最少和最多形成的联通块数题解:并查集把联通的点处理下,并记录下每个联通块的点的数目,记录下所有联通块一共还需要多少条边rt_val,使得各自完全联通,以联通块点的个数建立线段树,维护下[l,r] 联通块的数目 联通块点的总和 每个连通块都...原创 2019-05-09 17:25:44 · 313 阅读 · 0 评论 -
HDU - 5709 Claris Loves Painting 线段树动态开点+合并
题目链接:https://cn.vjudge.net/problem/HDU-5709题意:给定一棵n点的树,每个节点上有一个颜色,每次询问一个点的子树中与这个点距离不超过d的点的颜色有多少种题解:对于每个节点建两个线段树t1[x]维护x的子树中,深度在[l,r]内的颜色的种数,同种颜色只算一次,且取深度最小的那个t2[x]维护x的子树中,每种颜色的最小深度从下向上合并,t...原创 2019-05-08 13:31:39 · 271 阅读 · 0 评论 -
问题 K: The Stream of Corning 2 离线+离散+线段树
题目链接:http://icpc.upc.edu.cn/problem.php?cid=1740&pid=10题意:n次操作,1 x val y。表示在[ x , y ]范围的时间内,val会显示出来。即在y时间之后该数字val会消失,2 x K 。表示询问在时间x时,显示出来的第k大的数为多少并输出,如果没有这样的数则输出-1.题解:因为这个n只有1e5,T为100,val有1e...原创 2019-04-29 22:26:50 · 277 阅读 · 0 评论 -
2018 焦作网络赛 String and Times 后缀数组+线段树
题目链接:https://nanti.jisuanke.com/t/A2018题意:出现[L, R] 次的字符串的个数题解:和这个题几乎一样:https://blog.csdn.net/mmk27_word/article/details/98210376,这样我们就固定左边界,找到至少出现L次的 - 至少出现R+1次的即可#include<iostream>#incl...原创 2019-08-02 23:25:21 · 132 阅读 · 0 评论 -
Contest1803 - 2019年第二阶段我要变强个人训练赛第十八场 问题 B: 无聊游戏 推公式+线段树
题目链接:http://icpc.upc.edu.cn/problem.php?cid=1803&pid=1题目描述小N和小A在玩这样的一个游戏:给定初始数列Q,小N先把某个前缀(可以为空)的数字全部乘上−A,小A再把某个后缀(可以为空)的数字全部乘上−B,小N想让最后所有数的和尽量大,而小A想让最后所有数的和尽量的小。因为小A无比聪明绝对不会失误,所以小N想找到某个方法使得最后...原创 2019-07-30 18:34:33 · 125 阅读 · 0 评论 -
Gym - 101889I Imperial roads 树链剖分+最小生成树之必选一边
题目链接:https://vjudge.net/problem/Gym-101889I题意:n个点,m条边,q次询问,每次必须选一边,求最小生成树的权值题解:我们先跑一边最小生成树,然后按照最小边建树,必选某条边的话,如果在树上,那就直接输出,如果不在,那么在树上加上这条边肯定会形成一个环,那就在环中去掉一条权值最大的,那么路径查询树剖一下即可#include <bits/st...原创 2019-10-04 15:43:36 · 214 阅读 · 0 评论 -
HDU - 6393 Traffic Network in Numazu 树上倍增求lca+dfs序+线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6393题意:n个点n条边的图,求两点间的最小距离题解:如果是一个树的话,那么我们就可以倍增+dfs序,然后用线段树维护下就可以了这样是nlogn的复杂度,当然也可以剖分一下,这样就是nlognlogn的复杂度了,都是可以的,但这个是n条边,那么就会有一个环,那么两点间的距离就会存在两个的情况,因...原创 2019-09-20 11:27:08 · 150 阅读 · 0 评论 -
2019 上海网络赛 B、 Light bulbs 区间差分 / 线段树点维护区间
题目链接:https://nanti.jisuanke.com/t/41399题解:看见的第一思路应该都是差分,但是这个用数组肯定就gg了,所以当时的时候就想到动态开点线段树,mlog(n)但是T了,然后我就把点离散了一下,用点去维护区间,mlog(m),跑了900ms,后来才知道,差分也可以,就是把处理点记录下来,然后排个序,搞一下就可以了,这样也是mlogm,300ms差分:#i...原创 2019-09-17 15:04:58 · 124 阅读 · 0 评论 -
2019 南昌网络赛 C Hello 2019 / CodeForces - 750ENew Year and Old Subsequence 线段树维护矩阵
题目链接:https://vjudge.net/problem/CodeForces-750E题解:哇,原来这个也四个原题。。。。。。维护矩阵的还真是第一次做,这里就说一下CF那题的思路吧因为最后要2017,那么我们分为5个子序列 空 2 20 201 2017 每一个都代表一个状态,并且维护一下得到他们最少删除字符的数量,因此我们加上某个字符,相应的数量就会发生变化,我们用矩阵来表示...原创 2019-09-13 10:31:49 · 170 阅读 · 0 评论 -
2019银川网络赛A? FZU - 2105 Digits Count 线段树 区间操作 & | ^
题目链接:https://vjudge.net/problem/FZU-2105其实我想放银川网络赛的链接,emmm题解:首先或和与是能相互掩盖的,因此我们就可以把这两者用一个laz标记,laz=1表示区间都变为1,laz=-1表示区间都为0,有兴趣可以做一下这个题:https://blog.csdn.net/mmk27_word/article/details/90716575,而这个题...原创 2019-09-09 18:07:23 · 198 阅读 · 0 评论 -
2019徐州网络赛 I query 线段树 离线
题目链接:https://nanti.jisuanke.com/t/41391题解:先找出每一对(pi,pj),那么i, j 记录为 区间[l, r],则查询就变为,在[L,R]内有多少区间,然后我们离线+线段树就可以搞定了,按照 r 排序,对应进行区间查询即可#include <bits/stdc++.h>using namespace std;const int ...原创 2019-09-07 18:46:42 · 127 阅读 · 0 评论 -
CodeForces - 1208D Restore Permutation 线段树
题目链接:https://cn.vjudge.net/problem/CodeForces-1208D题解:从后往前操作,这样就能通过si确定出pi是什么,当然不能枚举,线段树维护下当前每个数如果放在当前位置的话si是多少,然后就是线段树的基本操作了,区间更新点查询#include <bits/stdc++.h>using namespace std;typedef lo...原创 2019-08-26 13:16:28 · 298 阅读 · 0 评论 -
POJ - 1195 Mobile phones 二维树状数组 / 线段树
题目链接:https://vjudge.net/problem/POJ-1195有一个正方形区域S*S(1<=S<=1024)。含有很多小区域,小区域编号从0开始,直到S-1。每一个单位各是一个区域,每个区域上有一定数量的手机,同时每一个区域上的手机的数目也是不断变化的,现在要一边进行修改某些单位格子内的手机的数目,同时也要询问某些区域的手机数目。 数据保证每个格子内手机数目一直在...原创 2019-08-20 17:35:01 · 178 阅读 · 1 评论 -
POJ - 2155 Matrix 二维线段树 / 树状数组
题目链接:https://vjudge.net/problem/POJ-2155#author=0题意:给定 n* n 矩阵A,其元素为0或1. A [i][j] 表示第i行和第j列中的数字。最初全为0.我们有两个操作:1. C x1 y1 x2 y2(1 <= x1 <= x2 <= n,1 <= y1 <= y2 <= n)将左上角为(x1,y1...原创 2019-08-20 15:40:17 · 122 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)E、Explorer 线段树维护区间+并查集优化
题目链接:https://ac.nowcoder.com/acm/contest/888/E题意:n个点,m条边,每条边有一个通行范围:[l , r],问有多少数可以从1到n题解:先把可行的区间离散化,然后线段树维护下区间,老样子右区间+1进行维护,把所有边可行的区间加入到线段树中,然后线段树从根节点不断向下进行操作,每次按秩合并优化并查集,记住不能路径压缩,因为还得回溯,每操作一个区间...原创 2019-08-11 14:14:47 · 200 阅读 · 0 评论 -
2019 杭电多校第6场 HDU - 6638 Snowy Smile 线段树 最大子段和
题目链接:https://vjudge.net/problem/HDU-6638题意:n个点,画一个矩形,使得矩形内的所有点的权值最大,求最大权值题解:首先将坐标离散化到 O(n) 的范围内,方便后续的处理。 将所有点按照y坐标排序,枚举矩形的上边界,然后往后依次加入每行的点,这样就确定了 矩形的上下边界。线段树维护下每个点的权值,则答案即为最大连续子段和,。 时间复杂度 O(n 2 lo...原创 2019-08-07 19:18:42 · 351 阅读 · 0 评论 -
2019牛客多校 第七场 E Find the median 线段树 用点维护区间
链接:https://ac.nowcoder.com/acm/contest/887/E来源:牛客网Find the median时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述Let median of some array be the number which wo...原创 2019-08-09 14:12:53 · 596 阅读 · 5 评论 -
Contest1802 - 2019年第二阶段我要变强个人训练赛第十八场 问题 N: 扶桑号战列舰 线段树+贪心
题目链接:http://icpc.upc.edu.cn/problem.php?cid=1802&pid=13问题 N: 扶桑号战列舰时间限制:1 Sec内存限制:128 MBSpecial Judge提交:169解决:52[提交] [状态] [命题人:admin]题目描述众所周知,一战过后,在世界列强建造超无畏级战列舰的竞争之中,旧日本海军根据“个...原创 2019-07-30 18:48:47 · 253 阅读 · 1 评论 -
2018ccpc吉林 H: LOVERS 线段树
题意:原先有n个空串,两种操作:题解:对于wrap一个数x的话,那么这个数会变成dxd,这个数的变化过程是d*10^strlen(x)*10+x*10+d,那么我们修改一个区间呢。区间[l,r]也就变化为 d*10*(10^strlen(a[l]) + 10^strlen(a[l+1]).....+ 10^strlen(a[r]) ) + (a[l]+a[l+1]+...+a[r])*10...原创 2019-05-03 16:14:30 · 885 阅读 · 0 评论 -
HDU - 3804 Query on a tree 树链剖分+线段树+离线 或 主席树 或 multiset
题目链接:点击查看题意:给出一个树和边权,求节点到根节点路径上的比y小的最大的题解:本来写了个主席树,超内存了,然后改写树链剖分+线段树,但这样需要离线处理,从小到大来进行,然后就过了,看了之前的代码,感觉主席树不会超内存啊,果断把vector换掉了,就不超了,真是垃圾,以后不会再用vector记录图了,不超时就T了,之前我是二分的答案,然后就T了,细想发现没必要,我们把主席树保存的val...原创 2019-04-15 01:29:24 · 198 阅读 · 0 评论 -
HDU - 4719 Oh My Holy FFF 线段树优化dp
N soldiers from the famous "*FFF* army" is standing in a line, from left to right. o o o o o o o o o o o o o o o o o o/F\ /F\ /F\ /F\ /F\ /F\ /F\ /F\ /F\ /F\ /F\...原创 2018-11-22 17:05:48 · 117 阅读 · 0 评论 -
CodeForces - 999D Equalize the Remainders 线段树 单点更新 查询
You are given an array consisting of nn integers a1,a2,…,ana1,a2,…,an, and a positive integer mm. It is guaranteed that mm is a divisor of nn.In a single move, you can choose any position ii between...原创 2018-11-07 21:47:26 · 142 阅读 · 0 评论 -
POJ - 2528 Mayor's posters 区间更新 离散化
The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city council has finally d...原创 2018-10-31 12:12:35 · 81 阅读 · 0 评论 -
POJ - 2886 Who Gets the Most Candies? 区间更新 单点查询
N children are sitting in a circle to play a game.The children are numbered from 1 to N in clockwise order. Each of them has a card with a non-zero integer on it in his/her hand. The game starts fro...原创 2018-10-30 17:51:17 · 132 阅读 · 0 评论 -
POJ - 2828 Buy Tickets
Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue…The Lunar New Year was approaching, but unluckily the Little Cat still had sch...原创 2018-10-30 17:47:37 · 133 阅读 · 0 评论