线段树
smiling~
努力会被看得到的
展开
-
蓝桥杯历届试题 Log大侠(线段树/区间合并)
atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠。一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力…变换的规则是: 对其某个子序列的每个整数变为: [log_2 (x) + 1] 其中 [] 表示向下取整,就是对每个数字求以2为底的对数,然后取下整。例如对序列 3 4 2 操作一次后,这个序列会变成 2 3 2。drd需要知道,...原创 2019-05-20 22:34:03 · 281 阅读 · 0 评论 -
线段树模板(区间最值查询)
int a[N];struct node{ int l,r,maxx,minx;}tr[N<<2];void pushup(int x){ tr[x].minx=min(tr[x<<1].minx,tr[x<<1|1].minx); tr[x].maxx=max(tr[x<<1].maxx,tr[x<<1|1...原创 2019-06-30 23:16:20 · 266 阅读 · 0 评论 -
基础线段树+树状数组模板
自用模板0.0#include<iostream>#include<cstring>#include<cstdio>using namespace std;const int N = 5e4+5;int sum[N<<2],lazy[N<<2];int a[N],n;void pushup(int x){ sum[x]...原创 2019-08-04 19:58:45 · 198 阅读 · 0 评论 -
求逆序对的数量--模板(归并排序 / 离散化线段树)
题目链接 : https://vjudge.net/problem/POJ-2299求逆序对的数量就是从前往后求每一个数前面比它大的数的数量之和。做法1:归并排序基本思想:归并排序的核心思想是分治,每次左右两区间分别排完序后有一个合并的过程,分别用指针i,j指向两边的头(即i=l, j=mid+1),分别往后扫,每次取出两个指针所指的数中较小的放入数组。而逆序数也可以分治求 逆序数总数 ...原创 2019-08-04 19:56:35 · 298 阅读 · 0 评论 -
Turing Tree HDU - 3333 (线段树+离线处理)
题目链接:https://cn.vjudge.net/problem/HDU-3333题意:区间查询i-j内不同数之和思路:查找不同数不可能每次查询到叶子节点,必然会t,那么就离线处理:1.将n个数的值及其下标保存,按下标排序。2.将q个查询及其下标保存,按查询的右端点排序。3.从前往后对于每个查询,插入下标<=它的元素,每次插入前判断一下,这个元素的值是否已经存在于线段树中(利用...原创 2019-08-05 10:31:00 · 161 阅读 · 0 评论 -
Super Mario HDU - 4417 (离散化线段树+离线处理)
题意:每个样例给出n块砖的高度和m次询问,每次询问给出三个数l,r,h,问区间l-r内<=h的砖有多少块。思路:离线处理:1.把所有砖的高度及下标保存下来,按其高度排序2.把所有询问及下标保存下来(因为最后要按下标输出结果),然后按询问的高度排序3.对于高度从小到大的每一个询问,将高度<=它的砖块插入线段树(插入的是砖块的下标),之后进行普通的区间查询(因为这时可以保证线段树...原创 2019-08-05 09:49:56 · 164 阅读 · 0 评论 -
An easy problem HDU - 5475 (暴力 / 线段树)
One day, a useless calculator was being built by Kuros. Let’s assume that number X is showed on the screen of calculator. At first, X = 1. This calculator only supports two types of operation.multip...原创 2019-08-06 20:19:54 · 100 阅读 · 0 评论 -
Billboard HDU - 2795(线段树-区间最值查询)
At the entrance to the university, there is a huge rectangular billboard of size h*w (h is its height and w is its width). The board is the place where all possible announcements are posted: nearest p...原创 2019-08-07 09:53:56 · 266 阅读 · 0 评论 -
HDU - 5875 Function(暴力 / 线段树)
The shorter, the simpler. With this problem, you should be convinced of this truth.You are given an array AA of NN postive integers, and MM queries in the form (l,r)(l,r). A function F(l,r) (1≤l≤r≤N)...原创 2019-08-30 10:10:02 · 193 阅读 · 0 评论