首页 > 其他分享 >分块杂写

分块杂写

时间:2022-12-06 21:24:29浏览次数:58  
标签:标记 值域 复杂度 分块 sqrt 整块 杂写

大概会持续更新?似乎是配套分块指北的呢!

很多题都没代码(

最初分块

区间 \(x\) 改成 \(y\) 的操作有个 trick。

我们将序列分块,每块在值域上维护一个并查集,将所有值为 \(x\) 的位置的父亲设为 \(rt_x\)。我们要保证一棵树内所有元素的值都是根对应元素的值。
整块修改简单,直接把并查集一连完事。散块的话可以暴力,首先将所有位置的真实值下放到数组上,然后对数组暴力重构即可。

然后这题需要维护一个 \(k\) 小值。这点简单,我们只需要维护一个前缀的值域分块,就能 \(O(\sqrt n)\) 查询了。
于是我们可以在并查集上维护每颗树的大小,前后两个散块暴力维护后缀信息即可。整块顺着扫一遍。

总时间复杂度 \(O(n\sqrt n)\)。代码实现较困难(

第二分块

这题老炒冷饭了
22.8.7写了一次
22.10.13又写了一次

所以这不写了

总时间复杂度 \(O(n \sqrt n)\)!

作业

一眼莫队。

然后莫队完了就变成给定一个序列查询 \(O(n)\) 次区间和了,同时需要支持 \(O(1)\) 修改。
这个东西可以直接值域分块。

做完了。复杂度 \(O(n \sqrt n)\)。
Bonus:空间开大点(指 512MB)能不能实现强制在线?

risrqnis

指路:题解!

CF925E

会个 \(O(n\sqrt \log n)\) 的。

首先初始化 \(a_i = -t_i\)。然后白\(to\)黑就是给它到根的链上每个 \(a_i\) 自增,给自己打标记;黑\(\to\)白就是给它到根的链上每个 \(a_i\) 自减,删掉自己的标记。答案就是 \(\sum_i [a_i > 0]\times [a_i\text{没标记}]\)。

首先树用 dfn 序拍成序列。
发现这玩意可以树剖,树剖完了就是 \(O(\log n)\) 段区间加了。整块维护一个 lazy 标记,值域上统计一个每个值没标记的数的数量。然后整块对答案的贡献可以 \(O(1)\)。
散块仍然是暴力重构。
记得单点改。

复杂度 \(O(n \sqrt n \log n)\)。
\(O(n\sqrt n)\) 不会。

标签:标记,值域,复杂度,分块,sqrt,整块,杂写
From: https://www.cnblogs.com/joke3579/p/sqrt-tech-append.html

相关文章

  • 【DSY】直线 题解(平面分块)
    Link.平面分块。Solution直接观察题面可以发现,这道题实在没有什么高深的技巧性可言。于是我们直接暴力:分块。然后wjy大佬表示,这个做法有着二维线段树的思想。下面......
  • 数论分块
    数论分块首先我们需要知道数论分块的用途:它可以快速计算含有除法向下取整的和式。形如\(\sum_{i=1}^{n}f(i)g(\lfloor{\frac{n}{i}}\rfloor)\).为什么可以快速计算呢,因为......
  • 分块指北
    分块思想最根本的部分是“平衡”二字。以下例题大致按难度排序,但可能有并列当前版本是大纲,关于题目的分析很可能并不完善。以及介绍部分可能也不全面/完善,如有疏漏敬请......
  • layui upload 分块上传实现
    由于项目需要上传超大文件,当然现在的条件好了,1-3百M的文件没多大问题,但是超过1G的还是有问题的。(当然oss单个文件最高可以5g)对于大额文件上传存在上传缓慢甚至失败的问题......
  • 数论分块
    数论分块数论分块也叫整除分块是用于快速处理类似于\[\sum_{i=1}^n\lceil\frac{n}{i}\rceil\text{或者}\sum_{i=1}^n\lfloor\frac{n}{i}\rfloor\]式子的一......
  • 2021 陕西省赛 C - GCD // 整除分块
    题目来源:2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计竞赛题目链接:https://ac.nowcoder.com/acm/contest/35232/C题意给定三个整数\(l\)、\(r\)、\(......
  • 分块快速入门
    基本思想有一句老话,叫“大段维护,局部朴素”。其实就是将一些东西人为的分为若干块,然后每个块整体的维护一些东西,小范围内直接暴力做,做到时空平衡。其实和根号分治有点像......
  • 数论分块
    数论分块对于含有除法向下取整的式子,可以使用数论分块,将\(\left\lfloor\frac{n}{i}\right\rfloor\)相同的数统一计算。使式子\(\left\lfloor\frac{n}{i}\right......
  • LOJ数列分块入门九题(中)
    #6281.数列分块入门5-题目-LibreOJ(loj.ac)区间开方,区间求和题。显然,针对区间维护开方操作很难做到,于是考虑其值的性质,显然,int范围内的值最多开方6次就会变为1,之......
  • LOJ数列分块入门九题(上)
    一转眼,已经有整整一年没有在博客园写博客了。Howtimeflys.最近突然想起其实我不太擅长分块算法,又想起去年暑假有位同学同我提起过LOJ的数列九题,说来惭愧,打了这么久题今......