随笔分类 - 线段树
摘要:给清华爷的思路跪了 想了N久 觉得可以深度建树开二维的来维护标记...然而N->50000数组存不下 看了别人的题解....原来可以用线段树离线操作对于这个点的深度贡献对于经过的每个节点+1 类似于前缀和的操作 然后对于操作离散化(嗯 最关键的操作就是把深度贡献 均分给他经过的节点上....至于为什
阅读全文
摘要:Problem Description Memory units are numbered from 1 up to N.A sequence of memory units is called a memory block. The memory control system we conside
阅读全文
摘要:题目描述 给你一个长为n的序列a m次查询 每次查询一个区间的所有子区间的gcd的和mod1e9+7的结果 输入描述: 第一行两个数n,m之后一行n个数表示a之后m行每行两个数l,r表示查询的区间 输出描述: 对于每个询问,输出一行一个数表示答案 #include <bits/stdc++.h> #
阅读全文
摘要:1.poj3667 Hotelhttp://poj.org/problem?id=3667 题意:有N个房间,M次操作。有两种操作 (1)"1a",表示找到连续的长度为a的空房间,如果有多解,优先左边的,即表示入住。 (2)"2 b len",把起点为b长度的len的房间清空,即退房 2.hdu33
阅读全文
摘要:线段树是世界上最美的数据结构(主要记录一些有意义的线段树.....特别是骚操作 1.uestc1425 Another LCIS http://acm.uestc.edu.cn/#/problem/show/360 题意:两种操作 对于一段区间的数加上c 查询最长连续上升序列 题解:彻底弄清楚区间更
阅读全文
摘要:题意:大概就是有三种操作吧,第一种在队列后面加入新人,引入一个不耐烦程度,第二种第一个人出队(直接让头结点的序号+1即可),第三种统计在队伍里面不耐烦程度最高的数(PS:随着操作的进行队列中每一个人的不耐烦程度+1),刚开始我是将每个节点加入线段树中,对于每个操作,打上lazy标记,用线段树区间维护
阅读全文
摘要:题意:给定一些操作,不断更新一些区间的颜色,求最后间断每种颜色的个数,直接线段树处理,每次更新,加上lazy标记,注意如何处理区间的端点是这题的关键;
阅读全文
摘要:题意:(刚开始没看懂题啊 很僵硬 )大概意思就是给你一个n*m的海报 然后 让你贴小广告,优先往上和往右,很明显要建树,这里对于数的叶子节点要分类考虑,首先n与K的关系,n<k时建树的叶子节点应该n,反之为k,存入数的是当前存在的位置最多多少,然后遍历树,若左节点的空位大于要求的调用左儿子,反之右儿
阅读全文
摘要:题意:线段树求逆序对经典题目,需要离散处理,但是用stl处理的话会T,手动二分处理即可;
阅读全文
摘要:题意:这题解法不唯一,我刚学线段树,就直接上线段树了,一般来说求逆序对,对序列离散化,然后对于原序列找出每个元素对应位置,然后依次放入线段树中,查找1-i-1区间,可以找出比a[i]小的数据数,然后用一共比它小的数减去这个数据,即为逆序对;#include#include#include#inclu...
阅读全文
摘要:题意:先说下写这题的感受吧,在已知这个题开根号的次数不会超过7次的情况下,还是写了2个多小时,完全整个人都是懵的,出了很多小错误,讲道理,这题就只有要注意开根号的次数,加上类似于剪枝的东西,是能过的,但就是很菜,最后交的手都软了,还得多练练线段树;#include#include#include#i...
阅读全文
摘要:题意:水题线段树,区间更新带上+lazy标记,最后统计即可;
阅读全文
摘要:题意:线段树水题,区间更新,带上lazy标记即可;
阅读全文
摘要:题意:很水的用线段树求逆序对的题,时间复杂度在nlogn适合初学者,数据较小不用离散化,直接敲即可;#include#include#include#include#include#include#include#include#include#define N 10005#define INF 0...
阅读全文
摘要:思路:通过样例找出规律,大概就是每次线段树维护后,能够确定找到下一个输出的位置,然后把这个位置的叶子节点设置为0,再次维护线段树即可; #include<algorithm> #include<queue> #include<iostream> #include<stack> #include<ve
阅读全文
摘要:题意:线段树水题,区间取最大值最小值即可,不用更新,直接跑;
阅读全文

浙公网安备 33010602011771号