
分治
文章平均质量分 77
QuantAsk
蒟蒻OIer
展开
-
UOJ#749-[UNR #6]稳健型选手【贪心,分治,主席树】
题目链接:https://uoj.ac/problem/749如果有序列aaa,你每次取走一个数字后然后这个序列最前面的数字会被别人取走,直到序列为空。此时f(a)f(a)f(a)表示你最大能取走的权值和。给出一个长度为nnn的序列aaa,qqq次询问区间[l,r][l,r][l,r],求f(al∼r)f(a_{l\sim r})f(al∼r)。1≤n,q≤2×105,1≤ai≤1091\leq n,q\leq 2\times 10^5,1\leq a_i\leq 10^91≤n,q≤2×105,1≤ai原创 2022-08-08 21:56:28 · 255 阅读 · 0 评论 -
CF603E-Pastoral Oddities【CDQ分治,可撤销并查集】
正题题目链接:https://www.luogu.com.cn/problem/CF603E题目大意开始时有nnn个点,没有边。依次加入mmm条带权的边,每次加入后询问是否存在一个边集,满足每个点的度数均为奇数,求使得这个边集的最大权值最小。1≤n≤105,1≤m≤3×1051\leq n\leq 10^5,1\leq m\leq 3\times 10^51≤n≤105,1≤m≤3×105解题思路首先考虑存在这个边集的条件,可以证明存在满足条件的边集的充要条件是联通块的大小都是偶数。必要原创 2022-02-13 20:31:55 · 399 阅读 · 0 评论 -
CF1039D-You Are Given a Tree【根号分治,贪心】
正题题目链接:https://www.luogu.com.cn/problem/CF1039D题目大意给出nnn个点的一棵树,然后对于k∈[1,n]k\in[1,n]k∈[1,n]求每次使用一条长度为kkk的链覆盖树并且不能重复覆盖点时最大覆盖条数。1≤n≤1051\leq n\leq 10^51≤n≤105解题思路先考虑暴力怎么做,因为每条链的价值都是一,显然的一种贪心思想是能合并的就合并(没有让出一条链给另一条链腾空间的必要)。这样的复杂度是O(n)O(n)O(n)的,但是对于每个都要原创 2021-09-27 16:52:57 · 217 阅读 · 0 评论 -
P7470-[NOI Online 2021 提高组]岛屿探险【Trie,CDQ分治】
正题题目链接:https://www.luogu.com.cn/problem/P7470题目大意给出nnn个二元组(a,b)(a,b)(a,b)。qqq次询问给出(l,r,c,d)(l,r,c,d)(l,r,c,d)表示询问[l,r][l,r][l,r]中有多少二元组满足c xor a≤min(b,d)c\ xor\ a\leq min(b,d)c xor a≤min(b,d)。1≤n,q≤1051\leq n,q\leq 10^51≤n,q≤105原创 2021-09-01 12:39:44 · 181 阅读 · 0 评论 -
Loj#2880-「JOISC 2014 Day3」稻草人【CDQ分治,单调栈,二分】
正题题目链接:https://loj.ac/problem/2880题目大意给出平面上的nnn个点,然后求有多少个矩形满足左下角和右上角各有一个点矩形之间没有其他点1≤n≤2×105,1≤xi,yi≤109,1\leq n\leq 2\times 10^5,1\leq x_i,y_i\leq 10^9,1≤n≤2×105,1≤xi,yi≤109,保证xi,yix_i,y_ixi,yi分别不重复出现。解题思路按照xxx排序,考虑CDQCDQCDQ分治后左边对右边的影响,对yyy原创 2021-08-14 07:54:52 · 308 阅读 · 0 评论 -
CF960G-Bandit Blues【第一类斯特林数,分治,NTT】
正题题目链接:https://www.luogu.com.cn/problem/CF960G题目大意求有多少个长度为nnn的排列,使得有AAA个前缀最大值和BBB个后缀最大值。0≤n,A,B≤1050\leq n,A,B\leq 10^50≤n,A,B≤105解题思路显然的是把最大的数两边然后左边的是前缀最大值,右边的是前缀最小值。然后考虑两个前缀最大值之间其实可以插任何数字,但是最大的一定要排在前面。其实就是这些数字分成若干个圆排列的个数,就是第一类斯特林数。枚举左右两边的数量就有原创 2021-07-07 11:30:43 · 203 阅读 · 0 评论 -
P5644-[PKUWC2018]猎人杀【NTT,分治】
正题题目链接:https://www.luogu.com.cn/problem/P5644题目大意nnn个人,每个人被选中的权重是aia_iai。每次按照权重选择一个没有死掉的人杀死,求第111个人最后死的概率。输出答案对998244353998244353998244353取模。wi>0,∑i=1nwi≤105w_i>0,\sum_{i=1}^nw_i\leq 10^5wi>0,∑i=1nwi≤105解题思路这个死掉之后概率的分母会变所以挺麻烦的,考虑一下变成每次原创 2021-06-18 10:45:31 · 218 阅读 · 0 评论 -
YbtOJ#791-子集最值【三维偏序】
正题题目链接:http://www.ybtoj.com.cn/contest/123/problem/1题目大意给出333个长度为nnn的排列A,B,CA,B,CA,B,C。然后一个下标集合SSS的三元组是(max{Ai},max{Bi},max{Ci})(i∈S)(max\{A_i\},max\{B_i\},max\{C_i\})(i\in S)(max{Ai},max{Bi},max{Ci})(i∈S)求所有下标集合不同的三元组数量1≤n≤1051\leq n\leq 10^51≤n原创 2021-02-24 15:49:01 · 205 阅读 · 0 评论 -
YbtOJ#493-最大分数【斜率优化dp,分治】
正题题目链接:http://172.17.55.160/contest/117/problem/1题目大意nnn个数的一个序列,给其中的一些数打上标记。一个标记方案的贡献为s1s_1s1表示有多少对L,RL,RL,R满足区间[L,R][L,R][L,R]都被打上了标记,s2s_2s2表示标记的数字和。贡献为s1−s2s_1-s_2s1−s2mmm次询问,修改一个数后,求最大的可能贡献(询问之间相互独立)1≤n,m≤3×1051\leq n,m\leq 3\times 10^51≤n,m原创 2021-02-18 16:53:54 · 186 阅读 · 0 评论 -
YbtOJ#903-染色方案【拉格朗日插值,NTT,分治】
正题题目链接:https://www.ybtoj.com.cn/contest/115/problem/3题目大意两个长度为n+1n+1n+1的序列a,ba,ba,baia_iai表示涂了iii个格子的可以获得的价值。bib_ibi表示恰好用iii种颜色图最多nnn个格子可以获得的总价值。给出序列bbb,求序列aaan∈[1,105]n\in[1,10^5]n∈[1,105],所有运算在%998244353\% 998244353%998244353意义下。解题思路定义cic_ic原创 2021-02-16 20:38:20 · 195 阅读 · 0 评论 -
CF932F-Escape Through Leaf【树上启发式合并,CDQ分治,斜率优化dp】
正题题面链接:https://www.luogu.com.cn/problem/CF932F题目大意nnn个点的一棵树,从xxx跳到yyy(要求yyy在xxx的子树中)会产生Ax∗ByA_x*B_yAx∗By的代价,求每个节点出发跳到某个叶节点的最小代价。解题思路考虑dpdpdp的话,那么有fx=fy+Ax∗Byf_x=f_y+A_x*B_yfx=fy+Ax∗By,这个式子可以考虑斜率优化,若y1y_1y1比y2y_2y2优,那么有fy1−fy2By1−By2≥Ax\frac{原创 2020-11-27 16:23:17 · 373 阅读 · 0 评论 -
P4655-[CEOI2017]Building Bridges【斜率优化dp,CDQ分治】
正题题目链接:https://www.luogu.com.cn/problem/P4655题目大意nnn座桥,删除第iii座会产生wiw_iwi的代价,相邻的两座桥i,ji,ji,j会产生(hi−hj)2(h_i-h_j)^2(hi−hj)2的代价,要求代价最小。解题思路设fif_ifi表示留到第iii座桥的答案,si=∑j=1iwis_i=\sum_{j=1}^iw_isi=∑j=1iwi,那么有fi=fj+si−1−sj+(hi−hj)2f_i=f_j+s_{i-1}-s_j原创 2020-11-09 18:38:12 · 261 阅读 · 0 评论 -
YbtOJ#20078-[NOIP2020模拟赛B组Day7]路径之和【分治,Flody】
正题题目链接:http://noip.ybtoj.com.cn/contest/108/problem/4题目大意nnn个点,每次只封闭一个点,求剩下点对两两之间的最短路和。解题思路FlodyFlodyFlody中如果枚举kkk时不管某一个点,那么就可以求不经过那个点的路径。考虑分治求解我们每次处理到[l,r][l,r][l,r]时我们先计算出[mid+1,r][mid+1,r][mid+1,r]的贡献(也就是枚举这里的kkk),然后递归到[l,mid][l,mid][l,mid]的区间。处原创 2020-11-02 16:02:52 · 203 阅读 · 0 评论 -
51nod1601-完全图的最小生成树计数【Trie,分治】
正题题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1601题目大意nnn个点的完全图,边(i,j)(i,j)(i,j)的权值为ai xor aja_i\ xor\ a_jai xor aj。求最小生成树和方案数。解题思路对于一个高位数,将这一位为000和这一位为111分成两个点集,那么显然是这些点集各构成一个最小生成树,然后再这两个之间的连一条边。我们可以用TrieTrieTri原创 2020-10-27 10:51:21 · 256 阅读 · 0 评论 -
P4123-[CQOI2016]不同的最小割【网络流,分治】
正题题目大意:https://www.luogu.com.cn/problem/P4123题目大意一张无向图,求所有点对之间有多少不同的最小割。解题思路考虑分治的做法,如果我们得知了(s,t)(s,t)(s,t)的最小割www,并且剩下的残量网络中连通点集SSS与sss连通,点集TTT与ttt连通。那么点集SSS到TTT的每个点对之间的最小割都是www。然后分治到两个点集去做即可。这样下来最小割的期望次数是O(n)O(n)O(n)级别的,可以通过本题。codecodecode#incl原创 2020-10-27 07:25:34 · 220 阅读 · 0 评论 -
YbtOJ#20072-[NOIP2020模拟赛B组Day6]相似子串【根号分治】
正题题目链接:http://noip.ybtoj.com.cn/contest/105/problem/2题目大意一个010101串,qqq个询问,每次询问有多少个长度为mmm的子串010101个数与给出的010101串TTT相同解题思路因为询问串的总长与nnn同级,所以考虑根号分治将询问的TTT串长度分为两部分。对与大于n\sqrt nn的,我们直接暴力,因为这样的串的个数不会超过L\sqrt LL个,所以时间复杂度是O(nL)O(n\sqrt L)O(nL)的。对与小于n\sqrt原创 2020-10-26 15:55:13 · 181 阅读 · 0 评论 -
P5502-[JSOI2015]最大公约数【分治】
正题题目链接:https://www.luogu.com.cn/problem/P5502题目大意nnn个数,求一个L,RL,RL,R使得最大化(R−L+1)∗gcd(aL,aL+1,aL+1...aR−1,aR)(R-L+1)*gcd(a_L,a_{L+1},a_{L+1}...a_{R-1},a_R)(R−L+1)∗gcd(aL,aL+1,aL+1...aR−1,aR)解题思路考虑分治,答案分为两种可能在l∼midl\sim midl∼mid或mid+1∼rmid+1\sim原创 2020-10-23 19:26:12 · 345 阅读 · 0 评论 -
P4169-[Violet]天使玩偶/SJY摆棋子【CDQ分治】
正题题目链接:https://www.luogu.com.cn/problem/P4169题目大意nnn个点,然后每次操作加一个新的点询问一个点更近的点解题思路定义tit_iti表示第几个操作,开始就有的点tit_iti为000假设最近的点在左上角,那么有要求ti<tj,xi<xj,yi<yjt_i<t_j,x_i<x_j,y_i<y_jti<tj,xi<xj,yi<yj构成了一个三维偏序。对于一个点对(i,j)原创 2020-08-09 21:34:52 · 375 阅读 · 0 评论 -
P4027-[NOI2007]货币兑换【斜率优化dp,CDQ分治】
正题题目链接:https://www.luogu.com.cn/problem/P4027题目大意nnn天开始时有SSS元钱,每天AAA种股票价格为aia_iai,BBB种价格为bib_ibi。然后出售必须AAA和BBB出售相同比例,买入时AAA和BBB必须按照rir_iri的比例买入。求最后的钱最多是多少解题思路首先考虑dpdpdp。假设有情况是只出售一部分最赚,然后之后(中间不买入)再出售一部分能更赚钱,那么将前面的放在最后出售的那一天出售完显然不会更亏,所以显然不成立,所以每次原创 2020-08-02 17:04:33 · 315 阅读 · 1 评论 -
P1429-平面最近点对(加强版)【分治】
正题题目链接:https://www.luogu.com.cn/problem/P1429题目大意平面上nnn个点,求最近点对解题思路考虑分治求最近点对,首先将平行于yyy轴将平面穿过xxx左边的中位数分割成两半,现在最近点对有三种可能,在分割线左边在分割线右边穿过分割线我们知道1和2可以用分治到两边计算,考虑如何求情况3。暴力枚举对数肯定会TLETLETLE,考虑优化,假设我们已经知道1和2的最小解d1,d2d1,d2d1,d2了,我们有d=min{d1,d2}d=min\{d1原创 2020-08-01 18:29:57 · 356 阅读 · 0 评论 -
P4721-[模板]分治FFT【NTT,分治】
正题题目链接:https://www.luogu.com.cn/problem/P4721题目大意给出序列ggg,然后f0=1f_0=1f0=1fi=∑j=1ifi−jgjf_{i}=\sum_{j=1}^if_{i-j}g_jfi=j=1∑ifi−jgj求序列fff解题思路使用分治后用NTTNTTNTT计算前区间对后区间的贡献即可。时间复杂度O(nlog2n)O(...原创 2020-02-29 22:27:36 · 393 阅读 · 0 评论 -
P3157-[CQOI2011]动态逆序对【CDQ分治,树状数组】
正题题目链接:https://www.luogu.com.cn/problem/P3157题目大意一个长度为nnn序列,每次删除一个数,求删除前的逆序对数量。解题思路时光倒流之后,我们变为每次加入一个数求逆序对数量。我们将加入一个数的贡献分为后面和前面两部分后面是加入时后方比他小的数的个数前面是加入时前方比他大的数的个数这里用aia_iai表示加入的时间先后,bib_ibi...原创 2020-01-01 12:21:06 · 223 阅读 · 0 评论 -
P3810-[模板]三维偏序(陌上花开)【CDQ分治,树状数组】
正题题目链接:https://www.luogu.com.cn/problem/P3810题目大意nnn个三元组(a,b,c)(a,b,c)(a,b,c),f(i)=∑i=1n,j≠i[aj≤ai&bj≤bi&bj≤bi]f(i)=\sum_{i=1}^{n,j\neq i}[a_j\leq a_i\&b_j\leq b_i\&b_j\leq b_i]f(i...原创 2020-01-01 11:39:22 · 256 阅读 · 0 评论 -
jzoj3462-休息【归并排序,逆序对】
正题大意一个序列,每次将一个单调下降的区间翻转,求最少次数将这个序列变成单调上升。解题思路考虑将O(n2)O(n2)O(n^2)的暴力转换。 我们先将开始时单调下降的区间翻转,然后我们会发现只有每个区间的边界才会需要交换,因为每个区间已经是单调上升的了。但是每次交换又可能会出现新的需要交换的,这就很像冒泡排序。而冒泡排序需要交换的次数就是逆序对的个数。...原创 2018-07-19 19:39:15 · 335 阅读 · 0 评论 -
POJ3889-Fractal Streets【分形,递归,分治】
正题题目链接:http://poj.org/problem?id=3889大意 第一级城市为图一,然后每次扩展一级就将原本的城市复制3份,一份放上面,一份正旋90’放左上,一份逆序90’放左边,最后将4份的头和尾连起来,规定左上角为编号1,之后根据道路编号。 求在一个n级城市中s号和d号的直线距离。解题思路我们可以从n级逐一降级下去,然后每次旋转的话我们可以旋转...原创 2018-08-13 17:05:08 · 552 阅读 · 0 评论 -
POJ2083-Fractal【分形,分治】
正题题目链接:http://poj.org/problem?id=2083大意图形: 一级: XXX 二级: X XX XX\ \ \ X X X\ \ \ X X XX 原创 2018-08-13 19:30:10 · 763 阅读 · 0 评论 -
nssl1248-B【点分治,平衡树】
正题题目大意有一颗树,求一条路径长度k,要求S≤k≤ES\leq k\leq ES≤k≤E,求最小的k。解题思路其实对于每个点进行点分治,每次将整棵子树的路径加入平衡树,然后在统计一次答案。时间复杂度O(n2)O(n^2)O(n2)。之后我们发现其实每次就找该子树的重心继续,不用遍历整棵子树。时间复杂度O(能过)O(能过)O(能过)code#include<cstdio&...原创 2018-10-30 07:59:09 · 246 阅读 · 0 评论 -
jzoj5231-序列问题【分治】
正题题目大意nnn个数字,求(∑l=1n∑r=lnmin{ai}∗max{ai}(i∈[l..r]))%(109+7)(\sum_{l=1}^n\sum_{r=l}^nmin\{a_i\}*max\{a_i\}(i\in [l..r]))\%(10^9+7)(l=1∑nr=l∑nmin{ai}∗max{ai}(i∈[l..r]))%(109+7)解题思路考虑分治,单独在半个内...原创 2019-01-27 16:04:32 · 372 阅读 · 0 评论 -
jzoj3170-[GDOI2013模拟4]挑选玩具【容斥,状态压缩,分治】
正题题目大意有nnn个箱子放了若干个玩具,要求选择一些箱子使得mmm种玩具都有,求方案总数。解题思路设fSf_SfS表示选择只有在集合为SSS的方案数。然后答案考虑容斥,那么答案就是∑S(2(f(∼S))−1)∗(−1)∣S∣\sum_S (2^{(f_{(\sim S)})}-1)*(-1)^{|S|}S∑(2(f(∼S))−1)∗(−1)∣S∣我们将集合的表示状压起来。...原创 2019-04-13 14:19:26 · 327 阅读 · 0 评论 -
jzoj6308-中间值【分治】
正题题目大意两个序列不降a,ba,ba,b,每次可以修改或询问[l1,r1,l2,r2][l_1,r_1,l_2,r_2][l1,r1,l2,r2]要求输出将序列aaa的l1∼r1l_1\sim r_1l1∼r1和bbb的l2∼r2l_2\sim r_2l2∼r2部分合起来然后求中位数。解题思路我们考虑分治,我们取出两个区间l1+k2−1∼r1l_1+\frac{k}{...原创 2019-08-18 18:46:29 · 241 阅读 · 0 评论 -
【jzoj】2018.2.3NOIP普及组——D组模拟赛
前言万年D组系列…正题题目1:数池塘(jzoj1898)有一个地方有一些积水,连着的积水是一个池塘,求池塘数。输入第1行:由空格隔开的两个整数:N和M 第2..N+1行:每行M个字符代表约翰农场的一排方格的状态。每个字符或者是’W’或者是’.’,字符之间没有空格。输出第1行:约翰农场上的池塘数样例输入10 12 W……..WW.原创 2018-02-03 19:51:10 · 542 阅读 · 0 评论