题目链接:BZOJ - 1500题目分析我要先说一下,这道题我写了一晚上,然后Debug了一整个白天..........再一次被自己的蒟蒻程度震惊= =这道题是传说中的Splay维护数列的Boss题目。前面的几个操作和询问看起来比较正常,就是最后一个维护最大区间和比较复杂。其实这个也并不是十分复杂,...
分类:
其他好文 时间:
2015-03-13 22:19:48
阅读次数:
243
线段树主要用于区间记录信息(如区间和、最大最小值等),首先是建树:这里以求和为例: 1 const int MAXM=50000; //定义 MAXM 为线段最大长度 2 3 int a[MAXM+5],segtree[(MAXM>1); // m 为中间点,左儿子结点...
分类:
其他好文 时间:
2015-03-13 22:05:18
阅读次数:
306
// l表示从l[i]到i连续大于a[i]的最远左区间,r表示从i到r[i]连续大于a[i]的最远又区间
DP 找出 a[i] 的最远左区间和最远右区间与自己连着的比自己大的数的长度 , 然后用这个长度乘以 a[i], 乘积最大的那个就是答案
hdoj 1506
#include
#include
#include
using namespace std;
#define N 100...
分类:
其他好文 时间:
2015-03-12 17:16:20
阅读次数:
127
首先将(x, y)变换为((x + y) / 2, (x - y) / 2)然后变成查询区间中位数的问题,把x, y分开做离散化完直接用主席树维护区间和 1 /************************************************************** 2 ...
分类:
其他好文 时间:
2015-03-11 00:26:10
阅读次数:
162
OpenSCAD支持变量和循环,从而可以快速复制出大量的几何对象并且按照递归的方式进行布局。 ????循环的变量可以是枚举、区间和矢量对象,循环体支持几何对象构建、坐标平移与旋转、交并差等操作。 ??...
分类:
其他好文 时间:
2015-03-04 10:00:08
阅读次数:
153
题意:给出区间[1,N]和N个小区间,用小区间去覆盖[1,N],问能否覆盖完全,若不能则输出-1,否则输出所需要的小区间的最少数目。...
分类:
其他好文 时间:
2015-03-04 09:54:39
阅读次数:
161
矩阵修改矩阵求和的裸题参考 wyl8899《树状数组维护区间和的模型及其拓广的简单总结》一文。树状数组在进行区间操作的时候维护一个查分数组 d 。 d[i] = a[i] - a[i - 1]。 这样单点询问就是 ∑i = 1 … x d[i]区间询问的时候, 询问 1 … x 的区间即要求 ∑i ...
分类:
其他好文 时间:
2015-03-03 08:37:50
阅读次数:
185
单点更新: 这里就能开始说明树的节点可以有 一条线段 一个单点增量 等意义,而非是一个区间。 和传统意义上的实现。在这个问题上。线段树是优化了查询的时间。延长了更新时间。但是平摊下来。线段树优化了不少的时间新技能get!(一):build 时最后的节点可以直接输入。void build(int .....
分类:
其他好文 时间:
2015-03-02 23:44:07
阅读次数:
292
一维问题:nyoj 44 子串和
链接:click here
题目大意:给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1
思路:m是元素总个数,sum是第一个元素,将当前的第一个元素作为最大值max,之后依次输入,检查sum
代码:
#include
#include
#include
#includ...
分类:
其他好文 时间:
2015-02-15 23:12:25
阅读次数:
185