- 博客(2)
- 资源 (2)
- 收藏
- 关注
原创 BZOJ3545: [ONTAK2010]Peaks(线段树合并)
传送门 这题允许离线的话,就直接线段树合并就可以了。 这个线段树就是一棵值域线段树。枚举一维表示边权的大小,把边权小于枚举值的边的两端所在的线段树合并了,在线段树里查询第k大值就可以了。 如果是加强版的话,可以使用主席树合并来完成。#include <cstdio> #include <algorithm> using namespace std; #define MAXN 500005 in
2016-07-28 16:30:18 1637 2
原创 BZOJ4556: [Tjoi2016&Heoi2016]字符串
这道题说难也不难,但是有一个很经典的维护主席树的思想。首先我们先建出一个后缀数组,然后我们按照sa的顺序建一棵以原串下表为权值的主席树,查询(a,b,c,d)(a, b, c, d)的时候,先二分一个长度,找出sa中串[c,c+len][c, c+len]的区间,然后查询区间中是否有下标属于[a,b−len+1][a, b-len+1]。 代码:#include <cstdio> #include
2016-07-06 23:31:21 1096
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人