题目描述 Description 小 H 是个善于思考的学生,现在她又在思考一个有关序列的问题。她的面前浮现出一个长度为 n 的序列{ai},她想找出一段区间[L, R](1 <= L <= R <= n)。这个特殊区间满足,存在一个 k(L <= k <= R),并且对于任意的 i(L <= i ...
分类:
其他好文 时间:
2017-08-13 00:09:54
阅读次数:
159
题目背景 这是一道经典的Splay模板题——文艺平衡树。 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 输入输出格式 输入格式: 第一行为n,m n表示 ...
分类:
其他好文 时间:
2017-08-12 21:18:18
阅读次数:
120
3196: Tyvj 1730 二逼平衡树 Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的 ...
分类:
其他好文 时间:
2017-08-12 20:33:47
阅读次数:
229
Description Input Output Sample Input Sample Output HINT 题解 莫队。加个标记数组维护该数在区间中出现了几次,再加个变量统计有几个数是重复的。 ...
分类:
其他好文 时间:
2017-08-12 20:27:45
阅读次数:
152
题目描述 小B有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。小B请你帮助他回答询问。 输入输出格式 输入格式: 第一行,三个整数N、M、K。 第二行,N ...
分类:
其他好文 时间:
2017-08-12 18:56:20
阅读次数:
113
题意: 一段区间a一開始是1、2、3、4……n这种 每次1操作能够将[l,r]覆盖成x 同一时候得到abs(a[i]-x)的价值 2操作查询[l,r]的价值 思路: 线段树 又是一道加深线段树理解的题 操作2是简单的求和 线段树基本操作 难点在操作1 用cov表示该区间的值(假设为0说明是混合区间) ...
分类:
Web程序 时间:
2017-08-12 18:55:37
阅读次数:
347
1. 概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中经常遇到的问题,下面介绍一下解决这两种问题的比较高 ...
分类:
其他好文 时间:
2017-08-12 16:09:13
阅读次数:
131
虽然说这道题线段树很好做,但毕竟树状数组常数小又好写,所以还是写个模板吧。 区间加转为前缀加 区间和转为前缀和 我们讨论一个1~k的区间加x对于一个前缀和val【i】的影响 对于所有k<i的更新,对val[i]的贡献为val[i]+=k*x 对于所有k>=i的更新,对val[i]的贡献为val[i] ...
分类:
编程语言 时间:
2017-08-12 15:28:43
阅读次数:
203
1091 线段的重叠 1091 线段的重叠 1091 线段的重叠 X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重 ...
分类:
其他好文 时间:
2017-08-12 13:24:02
阅读次数:
79
【算法】DP+线段树求区间max(二维偏序) 【题解】 状态转移方程:f[i]=max(f[j]+v[i]),x[j]<x[i]&&y[j]<y[i]。 观察j的条件限制显然是二维偏序求最大值,套路化地离散化后一维排序+一维线段树即可解决。 最后在f[i]中找max,所以不用恢复原序。 复杂度O(n ...
分类:
其他好文 时间:
2017-08-12 10:34:28
阅读次数:
137