
线段树
Exception2017
OI总结
展开
-
牛客14269 sum 线段树 数位
链接:https://ac.nowcoder.com/acm/problem/14269来源:牛客网考虑维护一个这样的问题:(1) 给出一个数组A,标号为1~n(2) 修改数组中的一个位置。(3) 询问区间[l,r]中所有子集的位运算and之和mod(109+7)。位运算and即为“pascal中的and”和“C/C++中的&”我们定义集合S={ l , l+1 , … , r-1 , r}若集合T,T ∩ S = T,则称T为S的子集设f(T)=AT1 and AT2 and …原创 2021-01-22 22:51:15 · 249 阅读 · 1 评论 -
[TJOI2018]数学计算 线段树
原题:https://www.luogu.org/problemnew/show/P4588题解:很明显是线段树,单点修改,区间查询。别忘了清1#include<bits/stdc++.h>#define ll long long #define ls now<<1#define rs now<<1|1#define lson ls,l,mid...原创 2019-04-30 20:02:21 · 150 阅读 · 0 评论 -
BJOI2017 树的难题 点分治+线段树
原题:https://loj.ac/submission/420518题解:要找到长度L-R的染色的最大权值。长度L-R肯定要用点分治,通过分析可以得出对于每一个子树,只要考虑当前分治中心到每颗子树的颜色是不是一样的就行了。即相同的要减去1个。我们考虑用两颗线段树维护。线段树的坐标表示长度。对于每一组询问,要从[max(0,L-num),y-num]中找到最大值。为了方便起见,把所有长度都+1...原创 2019-04-17 22:53:17 · 253 阅读 · 0 评论 -
bzoj5028 小Z的加油店 差分+数论+线段树/树状数组
原题:https://www.lydsy.com/JudgeOnline/problem.php?id=5028题解:要求的其实是[l,r]的gcd。就是辗转相减法。但是修改很麻烦考虑差分,即。很容易就能看出不管区间加法只会改变两个端点,所以差分的部分可以用线段树维护(区间查询,单点修改),a_l最简单可以用树状数组维护(区间修改,单点查询)#include<bits/stdc...原创 2019-04-13 23:17:14 · 155 阅读 · 0 评论 -
[IOI2014]Wall 砖墙 线段树
原题:https://www.luogu.org/problemnew/show/P4560题解:两个操作,添加操作[l,r]将所有数的改大于等于h的,已经大的就不用改了,删除操作将所有数都保持在小于等于h的(已经小的就不用改了)。考虑用线段树维护两种标记,mm表示下界,mn表示上界。相当于答案就在mm-mn,显然mm<=mn,所以mm的初值就是0,mn的初值就是inf而mm就是答案...原创 2019-04-06 20:44:29 · 354 阅读 · 0 评论 -
[HEOI2016/TJOI2016]排序 二分+线段树 || 80分的桶排序
原题:https://www.luogu.org/problemnew/show/P2824题解:两种操作,区间升序,降序排序。先写一种暴力的桶排序,每次排序的时间复杂度为O(n)。原理和基数排序类似,开一个桶(数组),扫一遍区间在对应的下标+1,然后在从前往后(后往前查)一遍就行了,只用扫两遍就行了,比快排还快。80分的桶排序。#include<cstdio>#inc...原创 2019-03-15 21:47:01 · 153 阅读 · 0 评论 -
hdu3973 线段树+哈希
原题:http://acm.hdu.edu.cn/showproblem.php?pid=3973题解:m组询问子串是否出现过,和单点修改。将字符串哈希,放进线段树合并就可以了,根据下面的公式合并就行了#include<cstdio>#include<cstring>#include<algorithm>#define ull unsigned ...原创 2019-02-16 21:05:41 · 259 阅读 · 0 评论 -
HDU 5238 线段树+数论
原题:http://acm.hdu.edu.cn/showproblem.php?pid=5238、题解:给你长度为n的操作序列,和m组操作求每组操作的模29393的值。这道题直接显然是没有前途的,观察29393,有29393=7*13*17*19,显然可以分别处理这些小质数,在用CRT合并。处理方法可以用线段树。如设:为第rt个质数x区间输入为i的答案,那么就有这样就可以用线段树...原创 2018-12-14 23:45:44 · 180 阅读 · 0 评论 -
CF 875DHigh Cry
Disclaimer: there are lots of untranslateable puns in the Russian version of the statement, so there is one more reason for you to learn Russian :)Rick and Morty like to go to the ridge High Cry for...原创 2018-11-03 22:13:27 · 109 阅读 · 0 评论 -
CF1000F One Occurrence (线段树)
time limit per test3 secondsmemory limit per test768 megabytesYou are given an array aa consisting of nn integers, and qq queries to it. ii -th query is denoted by two integers lili and rir...原创 2018-11-03 11:03:50 · 287 阅读 · 0 评论