原文:2021-09-05算法周记——根号分治学习

本周小结 这周复习了平衡树的内容,学习了根号分治的算法思想。 根号分治听起来比较冷门,但是是一种很好用也很精妙的思想。 根号分治 一道题目:哈希冲突 暴力 如果使用暴力,每次询问扫一遍,对于一次查询的时间复杂度为 O frac n x 。当 x 时是最差时间复杂度,也就是说,最坏情况下,总体时间复杂度是 O mn 。 但是,如果是随机的呢 我们知道调和级数 sum i n frac n i app ...

2021-09-05 14:35 3 127 推荐指数:

查看详情

分治根号算法

1. 根号分治与分块 1.1. 根号分治 根号分治,就是在预处理与询问的复杂度之间寻找平衡的一个算法。通常以根号作为问题规模的分界线,规模小于根号的询问可以 \(n\sqrt n\) 预处理求出,而回答一次规模为 \(B\geq n\) 的询问的时间只需要 \(\dfrac n B\leq ...

Mon Oct 04 08:55:00 CST 2021 0 144
CDQ分治学习笔记

数据结构中的一块内容:$CDQ$分治算法。 $CDQ$显然是一个人的名字,陈丹琪(NOI2008金牌女选手) 这种离线分治算法算法界称为"cdq分治" 我们知道,一个动态的问题一定是由"更改""查询"操作构成的,显然,有些“更改”会改变"查询的结果",而有些不能 如果我们合理安排一个次序 ...

Mon Feb 18 23:28:00 CST 2019 2 724
cdq分治学习笔记

1.作用 可以用来搞一些离线的题目,用于代替复杂的数据结构入树套树。 2.做法 1.分治左边区间。 2.计算左边区间对右边区间答案的贡献。 3.分治右边区间。 4.将当前区间排序。 5.return。 3.例题 1.树状数组 单点修改区间查询。 将所有操作记录cdq分治 ...

Sat Mar 14 07:33:00 CST 2020 8 187
(动态)边分治学习笔记

终于在刷了半个寒假的计数题后学习了(动态)边分治,写个博客记录一下。 然而做完两道题之后可能又不想管它了 以后再有练习的时候再更新吧。 用途 在\(O(n\log n)\),\(O(n\log^2 n)\) 等复杂度内解决树上路径问题。 加了“动态”二字之后可以支持修改操作。 其实用 ...

Sat Feb 09 01:47:00 CST 2019 4 713
根号分治

根号分治: 引入: 有这样一类问题:有 \(n\) 个序列,\(m\) 个询问,存在两种做法:\(O(n^2)\) 预处理和 \(O(mn)\) 的不预处理. 显然,两种方法的复杂度都无法接受,因此考虑一种方法是否能平衡这种复杂度。 然后,就拥有了 根号分治 这种方法,思路和 分块的整块 ...

Mon Nov 15 05:03:00 CST 2021 1 1130
2021/05/09 TypeError: dispatch(...).then is not a function

引入connect或者检查dispatch方法是否写错参数2021/05/09 这段话的意思是:TypeError:分派(…)。then不是函数dispatch不是一个函数,答案在以前已经有了:引入umi的一个东西叫connect如果引入了connect且dispatch有值但还是报错 ...

Sat Apr 02 18:47:00 CST 2022 0 761
分治算法学习

1. 递归与分治 1.1 递归 递去,归来。 能够用递归解决的问题需要满足三个条件: 原问题可以转换为一个或多个子问题来求解,而这些子问题的求解方法和原问题完全相同,只是规模不同; 递归调用次数必须是有限的; 必须有结束递归的条件 ...

Thu Mar 21 03:21:00 CST 2019 0 1760
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM