上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页
摘要: treap 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入x数,删除x数(若有多个相同的数,因只删除一个),查询x数的排名(排名定义为比当前数小的数的个数+1。若有多个相同的数,因输出最小的排名),查询排名为x的数,求x的前驱(前驱定义为小于x,且最大的数),求x的 阅读全文
posted @ 2018-03-22 09:05 pechpo 阅读(350) 评论(0) 推荐(0) 编辑
摘要: luogup3834(主席树模板) 给定由N个正整数构成的序列,将对于指定的闭区间查询m次其区间内第k小值。1≤N,M≤2e5。 有一个做法,是对于每个序列的前缀建一颗权值线段树,然后通过权值线段树相减得到的权值线段树来查询第k小值。由于单点修改只需要改动logn个结点,第i个主席树可以依托第i 1 阅读全文
posted @ 2018-03-15 18:47 pechpo 阅读(202) 评论(0) 推荐(0) 编辑
摘要: luogu1975 排队(分块) 给你一个长度为n的序列,每次交换给定的两个数,输出每次操作后的逆序对个数。 首先考虑求出刚开始的逆序对。接着相当于带修改的求区间中比x大的数。 可以用分块,每个块内排序,然后维护排序后的块。每次查询,块外二分,块内暴力。 c++ include include in 阅读全文
posted @ 2018-03-15 09:15 pechpo 阅读(241) 评论(0) 推荐(0) 编辑
摘要: luogu4168蒲公英(区间众数) 给定n个数,m个区间询问,问每个询问中的众数是什么。 题面很漂亮,大家可以去看一下。 对于区间众数,由于区间的答案不能由子区间简单的找出来,所以似乎不能用树形结构。 用分块的话,设一个区间[x, y],里面包含的最大连续的块的左端点是l,右端点是r。那么显然,这 阅读全文
posted @ 2018-03-14 11:27 pechpo 阅读(302) 评论(0) 推荐(0) 编辑
摘要: uva10570(枚举基准,贪心) 输入一个1至n的排列(n using namespace std; const int maxn=505, INF=1e9; int min(int x, int y){ return x 1); ++i) swap(a[i], a[n i+1]); for (i 阅读全文
posted @ 2018-03-12 23:34 pechpo 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 最小度限制生成树 给定图G,求使得图中结点$V_0$的度不大于k的最小生成树。 设与v0相连的边集合是E0,|E0|=m,首先把v0去掉,对分裂后的每一个联通块都跑一遍最小生成树,得到边集合E1。一定存在一个方案,使得G的最小任意度限制生成树只用到E1中的和E0中的元素。证明在黑书p301,关键在于 阅读全文
posted @ 2018-03-12 19:49 pechpo 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 最小生成树(prim和kruskal) 最小生成树的最优子结构性质 设一个最小生成树是T。如果选出一个T中的一条边,分裂成的两个树T1,T2依然是它们的点集组成的最小生成树。这个性质在关于生成树的状压dp里可以用。 prim算法 prim是在当前的最小生成树基础上,选择一条最短边作为新的最小生成树。 阅读全文
posted @ 2018-03-12 13:33 pechpo 阅读(1275) 评论(0) 推荐(0) 编辑
摘要: 二进制数(dp,记忆化搜索) 给定k个 include include using namespace std; const int maxk=11, maxn=1e6+5; int k, n, a[maxk], vis[maxn]; struct node{ int x, len, pre, en 阅读全文
posted @ 2018-03-12 08:26 pechpo 阅读(262) 评论(0) 推荐(0) 编辑
摘要: luogu3224 永无乡(动态开点,权值线段树合并) 永无乡包含 n 座岛,编号从 1 到 n ,每座岛都有自己的独一无二的重要度,按照重要度可以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可 阅读全文
posted @ 2018-03-09 08:30 pechpo 阅读(547) 评论(0) 推荐(0) 编辑
摘要: luogu 3806 【模板】点分治 给定一棵有n个点的树,有m个询问,每个询问树上距离为k的点对是否存在。树的权值最多不超过c。n include include include using namespace std; const int maxn=1e4+5; struct Graph{ st 阅读全文
posted @ 2018-03-08 08:17 pechpo 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页