题目链接:hdu 5316 Magician
线段树,区间合并,每个节点维护两端位置分别为奇奇,奇偶,偶奇,偶偶的beautiful 子串,合并的时候注意不能为空即可。
#include
#include
#include
using namespace std;
typedef long long ll;
const int maxn = 100005;
const...
分类:
其他好文 时间:
2015-07-28 21:04:28
阅读次数:
128
题意:在抗日战争期间,地道战在华北平原得到广泛的实施,一般而言,村庄通过一些隧道在一条线上连接,除了两端剩下的每个村庄都有两个相连。侵略者会频繁的对这些村庄进行扫荡,并且摧他们的地道,当然八路军会把这一些已经被摧毁的村庄修复的,会优先修复最近被破坏的村庄。分析:被这道题折磨了一上午啊,不过也学到了很...
分类:
其他好文 时间:
2015-07-27 12:45:32
阅读次数:
215
添加 lsum[ ] , rsum[ ] , msum[ ] 来记录从左到右的区间,从右到左的区间和最大的区间;#include#define lson l,m,rty?x:y;}void pushup(int l,int r,int rt){ int m=(l+r)/2; lsum[r...
分类:
其他好文 时间:
2015-07-18 18:24:49
阅读次数:
133
给n个数字 U表示第A个数改为B。A是从0开始。Q输出最大的递增序列个数。考虑左边,右边,和中间。#include#define lson l,m,rty?x:y;}int min(int x,int y){ return x=p) updata(p,c,lson); el...
分类:
其他好文 时间:
2015-07-18 15:36:37
阅读次数:
107
D. Guess Your Way Out! IIProblem's Link: http://codeforces.com/problemset/problem/558/DMean:一棵满二叉树,树中某个叶子节点是出口,目的是寻找这个出口。再给定Q个询问的结果,每个结果告诉我们在第i层中(l,r)...
分类:
其他好文 时间:
2015-07-16 21:48:35
阅读次数:
214
主题链接~~>做题情绪:这题思路好想。调试代码调试了好久。第一次写线段树区间合并。解题思路: 树链剖分 + 线段树区间合并 线段树的端点记录左右区间的颜色。颜色数目。合并的时候就用区间合并的思想。还要注意一点。在由一条链转到还有一条链的时候要推断当前节点是否与父亲节点是否同一种颜色。代...
分类:
其他好文 时间:
2015-07-13 08:54:41
阅读次数:
168
这道题在网上搜了一下题解,别人说是比hdu hotel还要变态的一题。
既然是变态题,因为它综合了线段树的几乎所有操作。
这道题的题意是:
有如下几个操作:
1:首先是Reset操作,这个操作代表的是把所有的内存空间全部都清空。
2:New x:代表的是分配一个x个内存空间,如果有内存空间的话,则输出那个内存空间的最左边的那个端点。否则,则输出Reject New
3:Free x:代...
分类:
其他好文 时间:
2015-07-03 19:20:46
阅读次数:
167
题目链接:Codeforces 484E Sign on Fence题目大意:给定给一个序列,每一个位置有一个值,表示高度,如今有若干查询,每次查询l,r,w,表示在区间l,r中,连续最长长度大于w的最大高度为多少。解题思路:可持久化线段树维护区间合并,前端时间碰到一题可持久化字典树,就去查了一下相...
分类:
其他好文 时间:
2015-06-07 17:28:08
阅读次数:
135
题意:初始时n个空房间,有m次操作,分为两种:1.找出最靠左的连续d个空房间的左端点值,并把该区间的房间占用 2.使指定区间的房间不被占用。输出每次操作1的左端点值,如果找不到,输出0。
很明显的一个思路是把每个节点所在区间的最长的连续空房间和该区间是否被覆盖作为节点信息
对于操作1,如果当前节点的值小于d,那当前区间肯定不行。如果不小于d,先看左子节点的值是否大于等于d(因为要找出...
分类:
其他好文 时间:
2015-06-04 12:04:30
阅读次数:
173
1 /* 2 hdu-1540 题意:一个线段,长度为n,三种操作,Dx,挖掉某个点;R,恢复最近被挖掉的点;Qx查询该点所在的连续区间的长度; 3 树的节点维护三个变量,该节点左边界开始连续的个数ll,右边界开始向左连续的个数rl,(在该区间内),该区间内最大的连续区间的长度m...
分类:
其他好文 时间:
2015-06-01 00:38:07
阅读次数:
166