
分治
ez_yww
这个作者很懒,什么都没留下…
展开
-
HDU 2665 题解
给你一个序列,每次求一个区间的第k大 n,m<=100000;原创 2016-07-06 09:02:38 · 346 阅读 · 0 评论 -
【XSY2720】区间第k小 整体二分 可持久化线段树
题目描述 给你你个序列,每次求区间第kk小的数。 本题中,如果一个数在询问区间中出现了超过ww次,那么就把这个数视为nn。 强制在线。 n≤100000,ain,w≤nn\leq 100000,a_i题解 考虑整体二分。 先看看离线要怎么做。 现在我们要计算每个数对每个区间的贡献。 对于每个询问区间和每种数,让这个区间最右边ww个数对这个询问原创 2018-01-14 20:52:02 · 335 阅读 · 0 评论 -
【XSY1332】【BZOJ3456】轩辕朗的城市规划 无向连通图计数 CDQ分治 FFT 多项式求逆 多项式ln
题解 设fif_i为nn个点组成的无向图个数,gig_i为nn个点组成的无向连通图个数 经过简单的推导(枚举11所在的连通块大小),有: fi=2n(n−1)2f_i=2^{\frac{n(n-1)}{2}}gi=fi−∑j=1i−1(n−1j−1)gjfi−j=fi−(i−1)!∑j=1i−1gj(j−1)!fi−j(i−j)!\begin{align}g_i&=f_i-\sum_{原创 2017-09-05 18:47:05 · 655 阅读 · 0 评论 -
【XSY1529】小Q与进位制 分治 FFT
题目大意 小Q发明了一种进位制,每一位的变化范围是00~bi−1b_i-1,给你一个这种进位制下的整数aa,问你有多少非负整数小于aa。结果以十进制表示。 n≤120000,0≤ai<bi≤1000000n\leq 120000,0\leq a_i<b_i\leq 1000000题解 就是求这个数。 那没什么好说的,直接分治FFT 处理左半边(低位)的c1=∏bic_1=\prod原创 2017-08-18 07:32:03 · 526 阅读 · 0 评论 -
【XSY2166】Hope 分治 FFT
题目描述 对于一个11到nn的排列a1,a2,a3,…,ana_1,a_2,a_3,\ldots,a_n,我们定义这个排列的PP值和QQ值: 对于每个aia_i,如果存在一个最小的jj使得i<ji<j且ai<aja_i<a_j,那么将aia_i和aja_j连一条无向边。于是就得到一幅图。计算这幅图每个联通块的大小,将它们相乘,得到PP。记Q=PkQ=P^k。 对于11到nn的所有排列,我们原创 2017-11-02 20:44:49 · 344 阅读 · 0 评论 -
【BZOJ3236】【AHOI2013】作业 线段树 分治 树状数组
题目描述 给你一个长度为nn的数列,还有mm个询问,对于每个询问(l,r,a,b)(l,r,a,b),输出1.区间[l,r][l,r]有多少范围在[a,b][a,b]的数;2.区间[l,r][l,r]有多少范围在[a,b][a,b]的权值。 n≤100000,m≤1000000n\leq 100000,m\leq 1000000题解 这道题莫队可以水过。 这里讲一个更优秀的算法。 建一棵权原创 2017-10-31 21:50:05 · 654 阅读 · 0 评论 -
【XSY2469】graph 分治 并查集
题目大意 给你一张nn个点mm条边的无向图,问删去每个点后,原图是不是二分图。 n,m≤100000n,m\leq 100000题解 一个图是二分图⟺\Longleftrightarrow该图不存在奇环 可以用并查集,维护每个点到根的距离 如果删除xx点,就要把所有不与xx连接的边加入并查集 考虑分治,对于区间[l,r][l,r],我们先把与[l,mid][l,mid]链接且不与[mid原创 2017-09-09 16:37:46 · 635 阅读 · 0 评论 -
BZOJ 3110 题解
有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。原创 2016-07-06 10:56:29 · 368 阅读 · 0 评论 -
HDU 5412 题解
有一个序列,两种操作。 1 l v:把第l个数改成v 2 l r k:查询l~r中的第k小数。原创 2016-07-06 10:31:09 · 341 阅读 · 0 评论 -
【XSY2732】Decalcomania 可持久化线段树 分治
题目描述 有一个陶瓷瓶周围有nn个可以印花的位置。第ii个与第i+1i+1个位置之间的距离为did_i,在第ii个位置印图案要tit_i秒。 机器刚开始在00号位置,可以以11单位长度每秒的速度移动。 一个位置只能印一个图案。 现在有mm秒,问你最多能印几个图案。 保证时间不足以绕陶瓷瓶一圈。 n≤100000n\leq 100000题解 肯定是先原创 2018-01-23 16:41:48 · 489 阅读 · 0 评论