![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分治
文章平均质量分 78
YB Lin
这个作者很懒,什么都没留下…
展开
-
P3396 哈希冲突 根号分治
传送门 文章目录题意:思路: 题意: 给你一个长度为nnn的数组aaa,每次操作有两种: (1)(1)(1) 给出x,yx,yx,y,问aaa中下表在模xxx的时候,模数等于yyy的位置aia_iai之和。 (2)(2)(2) 给出x,yx,yx,y,代表令ax=ya_x=yax=y。 思路: 这个题的第一个询问就是从yyy下标开始,让后每次递增xxx,将经过的位置都算入答案,这样的复杂度显然不能接受。 考虑每次递增的xxx,如果我们能保证x>nx>\sqrt nx>n,那么递增的次原创 2021-10-06 16:43:55 · 160 阅读 · 0 评论 -
Educational Codeforces Round 17 E. Radio stations cdq分治 + 树状数组
传送门 文章目录题意思路: 题意 有nnn个电台,对于每个电台iii有三个参数xi,ri,fix_i,r_i,f_ixi,ri,fi,分别指他们的坐标、作用半径、频率。如果两个电台频率差值在kkk以内,并且他们的作用范围都能覆盖到彼此,那么称这两个电台互相干扰,问这nnn个站台中互相干扰的站台有多少对。 $1\le n\le1e5,0\le k\le 10,1\le x_i,r_i\le 1e9,1\le f_i\le 1e4 $ 思路: 首先将问题简化一下,题面无非就是求满足以下两个条件的对数: (原创 2021-09-11 20:59:22 · 91 阅读 · 0 评论 -
P4396 [AHOI2013]作业 cdq分治
传送门 文章目录题意:思路: 题意: 给你一个长度为nnn的数列aaa,有qqq个询问,每次询问[l,r][l,r][l,r]中值域在[a,b][a,b][a,b]中的数出现的次数和在[a,b][a,b][a,b]中出现过的数值个数。 n≤1e5,1≤a≤1e5n\le1e5,1\le a \le 1e5n≤1e5,1≤a≤1e5 思路: 这个题可以值域分块来写,经典模型了。 这里介绍cdqcdqcdq的写法,考虑分的三维是那三维。 比较容易想到前两维是l≤pos≤r,a≤val≤bl\le pos\le原创 2021-08-29 15:56:02 · 95 阅读 · 0 评论 -
Educational Codeforces Round 32 G. Xor-MST 01tire + 分治 + Boruvka
传送门 文章目录题意:思路: 题意: 给你一个长度为nnn序列aaa,每两个点之间的边权为ai⊕aja_i\oplus a_jai⊕aj,问你最小生成树的权值是多少。 n≤2e5,ai<230n\le2e5,a_i< 2^{30}n≤2e5,ai<230 思路: 看到最小生成树,我们可以想到克鲁斯卡尔算法,但是完全图显然不能直接做,但是异或的话显然我们需要放到tiretiretire树上来跑的。 这里先介绍一种基于tiretiretire树分治的算法。 根据克鲁斯卡尔的思想,我们需要原创 2021-08-23 16:13:42 · 200 阅读 · 0 评论 -
HDU - 7054 Yiwen with Formula 分治拆位FFT + dp + 费马小定理降幂
传送门 文章目录题意:思路: 题意: 求aaa的所有子序列的和的乘积。 思路: 看到suma≤1e5sum_a\le1e5suma≤1e5,这应该会给我们提示,但是我没看到。 我们可以记cntxcnt_xcntx表示和为xxx的子序列有cntxcnt_xcntx个,那么答案就是∏xcntx\prod x^{cnt_x}∏xcntx。 考虑求cntxcnt_xcntx,我们定义f[i][j]f[i][j]f[i][j]表示前iii个数和为jjj的数有多少,显然可以n2n^2n2转移。 考虑这是一个原创 2021-08-10 21:41:58 · 148 阅读 · 0 评论 -
2021牛客暑期多校训练营4 E - Tree Xor 线段树 + 拆分区间
传送门 文章目录题意:思路: 题意: 给你一棵树,每个点原本都有一个权值wiw_iwi,但是你只知道相邻两个点之间的wu⊕wvw_u\oplus w_vwu⊕wv,问你有多少种w1,2,...,nw_{1,2,...,n}w1,2,...,n n≤1e5,wi<230n\le1e5,w_i<2^{30}n≤1e5,wi<230 思路: 显然我们如果确定了一个点的权值,那么其他的点都就确定了。 更具体的是,我们可以求出111到其他点之间的w1⊕wxw_1\oplus w_xw1⊕原创 2021-07-28 19:13:38 · 132 阅读 · 0 评论 -
Free tour II SPOJ - FTOUR2 点分治 + 树状数组
传送门 文章目录题意:思路: 题意: 给你一个有nnn个点的树,有mmm个点拥堵,连接两个点的一条边有一个美丽值,让你选择一个路径,使其经过的拥堵点数不超过kkk且美丽值最大。 n≤2e5,m≤n,k≤mn\le2e5,m\le n,k\le mn≤2e5,m≤n,k≤m 思路: 真恶心啊,这个题还卡时间。 明显的点分治的题了,在求不超过kkk的拥堵点数且美丽值最大的时候,明显这是一个前缀最大值,我们用树状数组维护一下即可。 在遍历一颗子树的时候,需要先更新答案,再将这个子树的信息更新到trtrtr数组里,原创 2021-06-26 16:03:05 · 84 阅读 · 0 评论 -
newcode Gene Tree 点分治
传送门 文章目录题意:思路: 题意: 求一棵树的每对叶子节点之间距离平方的和。 思路: 这个题貌似可以容斥,但是我不会,所以我写了个淀粉质。 要知道,淀粉质的思想就是将子树内部的递归处理,当前这层处理不同子树之间的距离即可,考虑化简式子分别求贡献。 假设(ai+aj)2(a_i+a_j)^2(ai+aj)2为两点间距离平方和,ai,aja_i,a_jai,aj为叶子到当前找的伪重心的距离,把式子化简出来就是ai2+aj2+2∗ai∗aja_i^2+a_j^2+2*a_i*a_jai2+aj2+2原创 2021-05-06 08:54:00 · 107 阅读 · 2 评论 -
Codeforces Round #163 (Div. 2) C. Below the Diagonal 分治
传送门 文章目录题意:思路: 题意: 给你一个n∗nn*nn∗n的矩阵,给你n−1n-1n−1个位置,这些位置为111,其他位置为000,操作定义为交换两行或者交换两列,让你通过不超过1e51e51e5次操作,将所有为111的位置的都换到主对角线的下面。 思路: 题目中说n−1n-1n−1个111的位置,那么必定有一列全为000,那么我们通过一次操作将这一列换到第nnn列,之后在找任意一个有111的一行换到第nnn行,让后递归处理(n−1)∗(n−1)(n-1)*(n-1)(n−1)∗(n−1)规模的矩阵即原创 2021-04-06 16:10:37 · 136 阅读 · 0 评论