上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页

[bzoj2599][IOI2011]Race——点分治

摘要: Brief Description 给定一棵带权树,你需要找到一个点对,他们之间的距离为k,且路径中间的边的个数最少。 Algorithm Analyse 我们考虑点分治。 对于子树,我们递归处理,所以我们只考察经过重心的情况。 我们很容易把所有点的dist和deep预处理出来,所以,问题就转化成了 阅读全文
posted @ 2017-03-05 16:44 蒟蒻konjac 阅读(144) 评论(0) 推荐(1) 编辑

[bzoj3343]教主的魔法——分块

摘要: Brief description 给定一个数列,您需要支持一下两种操作: 1. 给[l,r]同加一个数 2. 询问[l,r]中有多少数字大于或等于v Algorithm analyse 这个题一时想不到什么有效的数据结构,但是暴力法非常好想:一个$\Theta(n)$的暴力算法。 我们考虑分块做, 阅读全文
posted @ 2017-03-04 17:27 蒟蒻konjac 阅读(319) 评论(0) 推荐(0) 编辑

[bzoj1770][Usaco2009 Nov]lights 燈——Gauss消元法

摘要: 题意 给定一个无向图,初始状态所有点均为黑,如果更改一个点,那么它和与它相邻的点全部会被更改。一个点被更改当它的颜色与之前相反。 题解 第一道Gauss消元题。所谓gauss消元,就是使用初等行列式变换把原矩阵转化为上三角矩阵然后回套求解。 给定一个矩阵以后,我们考察每一个变量,找到它的系数最大的一 阅读全文
posted @ 2017-03-04 15:28 蒟蒻konjac 阅读(182) 评论(0) 推荐(0) 编辑

[bzoj1095][ZJOI2007]Hide 捉迷藏——线段树+括号序列

摘要: 题目大意 给定一棵所有点初始值为黑的无权树,你需要支援两种操作: 1. 把一个点的颜色反转 2. 统计最远黑色点对。 题解 本题是一个树上的结构。对于树上的结构,我们可以采用点分治、树链剖分等方法处理,这个题用了一个巧妙的方法,化树为线性数列,从而解决了问题。 定义一种对一棵树的括号编码。这种编码方 阅读全文
posted @ 2017-03-04 11:42 蒟蒻konjac 阅读(881) 评论(0) 推荐(0) 编辑

[bzoj3132]上帝造题的七分钟——二维树状数组

摘要: 题目大意 你需要实现一种数据结构,支援以下操作。 1. 给一个矩阵的子矩阵的所有元素同时加一个数。 2. 计算子矩阵和。 题解 一看这个题,我就首先想到用线段树套线段树做。 使用二维线段树的错误解法 其实是第一次写二维线段树orz。为了方便,我们不再使用k乱搞的思想都非常好搞了。 具体地,我们开四个 阅读全文
posted @ 2017-03-03 21:44 蒟蒻konjac 阅读(794) 评论(0) 推荐(0) 编辑

[bzoj3524==bzoj2223][Poi2014]Couriers/[Coci 2009]PATULJCI——主席树+权值线段树

摘要: 题目大意 给定一个大小为n,每个数的大小均在[1,c]之间的数列,你需要回答m个询问,其中第i个询问形如$(l_i, r_i)$,你需要回答是否存在一个数使得它在区间$[l_i,r_i]$中出现至少$\frac{r l+1}{2}$次。 题解 第一次写主席树。 不难发现,对于一个询问,只有可能要么有 阅读全文
posted @ 2017-03-03 14:22 蒟蒻konjac 阅读(206) 评论(0) 推荐(0) 编辑

[bzoj1500][NOI2005]维修数列——splay

摘要: 题目 题解 这道题可以说是数列问题的大BOSS,也算是这一周来学习splay等数据结构的一个总结。 我们一个一个地看这些操作。 对于操作1,我们首先建一棵子树,直接接上原树即可。 对于操作2,我们找到区间,不能直接取消连接关系,而是要一个一个的删除以回收空间。我们把已经删除的节点用一个栈保存起来。 阅读全文
posted @ 2017-03-03 11:05 蒟蒻konjac 阅读(199) 评论(0) 推荐(1) 编辑

[bzoj1018][SHOI2008]堵塞的交通traffic——线段树

摘要: 题目大意 给定一个2×n的矩形网格,你需要设计一种数据结构支持以下操作。 1. 连接两个相邻的网格。 2. 断开两个相邻网格的连接。 3. 查询两个网格的连通性。 最开始,所有网格之间均不连通。 题解 首先看到是图的连通性,我想到了并查集,但是由于题目需要删除操作,只好暂时作罢。 一般化地考虑原题。 阅读全文
posted @ 2017-03-02 11:22 蒟蒻konjac 阅读(177) 评论(0) 推荐(0) 编辑

[bzoj3165][Heoi2013]Segment——李超线段树

摘要: 题目大意 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段。记第i条被插入的线段的标号为i。 2.给定一个数k,询问与直线 x = k相交的线段中,交点最靠上的线段的编号。 题解 和上一个题几乎一样。 代码 阅读全文
posted @ 2017-03-02 08:14 蒟蒻konjac 阅读(509) 评论(0) 推荐(0) 编辑

[bzoj1568][JSOI2008]Blue Mary开公司——李超线段树

摘要: 题目大意 题解 这道题需要用到一种叫做李超线段树的东西。我对于李超线段树,是这样理解的: 给节点打下的标记不进行下传,而是仅仅在需要的时候进行下传,这就是所谓永久化标记。 对于这道题,借用一张图, 这张图解释的比较清楚了。 代码 include include include int read() 阅读全文
posted @ 2017-03-02 07:30 蒟蒻konjac 阅读(1116) 评论(1) 推荐(3) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页