主席树
CZWin32768
这个作者很懒,什么都没留下…
展开
-
2016hdu多校赛第5场(hdu5790) 主席树(Persistent Segment Tree)
题意给你N个字符串,问你第l个到第r个字符串中有多少个不同前缀。强制在线做,所以没法用树状数组来做。主席树也就是Persistent Segment Tree ,可持久化线段树。一般来讲线段树更新之后不会使用历史版本的线段树的信息,但是有些问题里面需要。可持久化线段树的做法是,新建一logn个节点,相当于一条链,线段树原本更新时是将这条链上的值更新,而主席树是新建一条链,其他部分连接原始的线段树,这原创 2016-08-04 19:03:10 · 1002 阅读 · 0 评论 -
POJ2104 POJ2761 区间第K大 主席树
题意查询一个区间第k大的数解法之前只是套版,没仔细看模板里的代码很吃亏,重新仔细看了一遍,理解更深了一点。这道题里面建了N个线段树,第i个线段树维护后缀[i…n]中数字在大小为[L,R]的区间里面的个数,但是数字很大,离散化一下就好(用unique)精髓在查询里面,查询区间[L,R]里面第K大的数字,其实就是找到一个mid,使sum[1,mid] = k(在T[L]上查询的结果 - T[R+1]上查原创 2016-08-05 12:28:31 · 635 阅读 · 0 评论 -
多校赛第7场 hdu5820 Lights 主席树
hdu5820 Lights比赛时候卡在一个构造题上了,结束改了一行1A,心痛。。没有时间看别的题,这是个很严重的问题。。题意一个50000x50000的网格,上面有500000个红绿灯(整点),问这些红绿灯两两之间是否都有一条这样的路,使得路上每个转弯点都有交通灯。解法题解上感觉写的有点问题。对于每个交通灯,找到距离它最近的上下左的交通灯(若没有则视为边界有),由这四个点可以构成一个矩形。这个矩形原创 2016-08-10 13:22:18 · 811 阅读 · 4 评论