
线段树
文章平均质量分 80
w-y-p
这个作者很懒,什么都没留下…
展开
-
hdu-4991(dp+线段树)
对于线段树有了更新的认识。题意:从无序串中求长度为k的严格上升序列的个数。设dp[ i ][ j ]为以位置i的数为结尾的长度为j的严格上升序列的个数。则dp[ i ][ j ] = sum { dp[ k ][ j - 1 ] | 1 用线段树优化。将输入序列排序,然后从1~n更新线段树。sum[ idx ][ len ]位置保存以输入时下标为idx位置为结尾转载 2015-01-29 21:46:28 · 681 阅读 · 0 评论 -
poj-1151 Atlantis(线段树+离散化+扫描线)
AtlantisTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 17858 Accepted: 6796DescriptionThere are several ancient Greek texts that contain descriptions of原创 2014-10-28 20:36:55 · 662 阅读 · 0 评论 -
poj-2528(线段树+离散化)
/*线段树+离散化题意:在长度1~10000000的墙上贴海报,可以覆盖前一张,按输入顺序在墙上贴海报,求最后能看到几张海报。思路:更新线段树,在左右值相同的线段区间更新为贴满,f值记录被哪张海报贴满。 寻找区间的过程,若某父区间早被贴满,则先更新他的子区间,然后该父区间f记为0,表示不被一张海报贴满。 区间很大,先对区间进行离散化处理。*/#include #i原创 2015-03-25 19:42:32 · 392 阅读 · 0 评论 -
hdu-1540(线段树+最大连续区间)
/*在区间中,有三种操作,Q x 查询包含x的最长连续区间D x 将x点毁掉即x点左右不再连续R 修复上一次毁坏的点思路:记录每个区间的左右端的连续区间长度, x若在左端点连续区间,则该区间只可能是其父亲的右孩子, 因为如果是左孩子,则访问其父区间的时候,父区间的左连续区间便已包含x。 所以直接将该右孩子区间的左连续区间加上其兄弟区间的右连续区间即是最终结果。原创 2015-03-27 21:10:21 · 839 阅读 · 1 评论 -
hdu-4578(线段树操作)
参照别的博客敲了一遍,下次自己a一遍。#include #include#includeusing namespace std;#define N 100005#define lld long long intconst int mod=10007;struct node{ int l,r; int same;//记录区间值是否相同,即是否被统一修改为某值原创 2015-04-06 19:51:44 · 577 阅读 · 0 评论 -
hdu-5316 Magician (2015 Multi-University Training Contest 3)
题意:对线段树区间有两种操作:1 改变某一位置的值0 求所给l r区间的最大和子序列,子序列满足相邻位置的点在原串中的位置的奇偶序不同。思路:#include#include#include#include #include#include#include#include#include#includeusing namespace std;#de原创 2015-07-29 19:01:26 · 414 阅读 · 0 评论