avatar
Articles
91
Tags
81
Categories
26

Home
Archive
Tag
Category
Repose
  • Gallery
  • Music
Link
About
Colythme
Search
Home
Archive
Tag
Category
Repose
  • Gallery
  • Music
Link
About

倍增

「SCOI2016」萌萌哒
Created2020-08-04|思维
第一次做到这种倍增题,有点有趣 首先区间内的每个点对应相等用并查集维护一下就好了,显然最后的答案就是(并查集个数为 $t$) $9 \cdot 10^{t - 1}$ 当然这样会造成 $O (n^2)$ 的复杂度,那么通过倍增来优化,即将区间二进制拆分,然后每次将 $[l_1, l_1 + 2^k - 1]$ 与 $[l_2, l_2 +2^k - 1]$ 合并,其中 $k$ 为二进制拆分结果所得幂次的部分,那么这样修改就变成 $O (n \log n)$ 了 对于查询,显然是不能直接查询了,那么就通过由大区间到小区间的传递(即将大区间拆分为左右两段,然后分别与之祖先拆分得左右两段合并)来将信息转移到最小的(即以点为单位的)区间段上 那么最后即 $O (n)$ 查询并查集个数即可 故该倍增整体思想即为:将以点为单位处理改为以幂次区间段为单位处理 $\rightarrow$ 将幂次区间段的信息转移到小区间直至单位区间 $\rightarrow$ 答案处理 代码12345678910111213141516171819202122232425262728293031323334353637 ...
1
avatar
Colythme
NO GAME NO LIFE
Articles
91
Tags
81
Categories
26
Follow Me
Recent Post
Analysis of Horror Game Design | Creators' Gacha Games - Part One2023-09-10
Analysis of Horror Game Design | Creators' Gacha Games - Part Two2023-09-10
Horror Game闲谈012023-09-05
Operating System2023-08-30
ABOUT ME2023-07-14
Categories
  • 3D3
  • AMP Learning3
  • Essays1
  • Game Design2
  • Machine Learning4
  • Operating System1
  • Social Network1
  • Web31
Tags
2-SAT 矩阵乘法 Game Essays 虚树 数学 网络流 二分图 多项式 点分治 GraphTheory OS Game Design 长链剖分 UE 扫描线 3D 归纳 动态点分治 prufer序列 杜教筛 组合数学 卡特兰数 Blockchain FWT 生成树 RL 博弈论 背包DP LCT 二分答案 ThreeJS 斯坦纳树 iClone 最短路 树上DP 线段树 后缀数组 ML 交互题 AtCoder Tarjan 线性基 树形DP FFT/NTT 斜率优化 概率DP 倍增 NLP 构造 数学期望 CRT/ExCRT 状压DP 容斥原理 集训 可持久化线段树 区间DP 边分治 矩阵树定理 整体二分 启发式合并 分块 杂谈 线性DP Web3D Python DigitalHuman AC自动机 OEIS 最小生成树 C++ 动态规划 Avatar 莫比乌斯反演 思维 最短路DP 贪心 ExGCD 生成函数 随机化 后缀自动机 分层DP
Archives
  • September 20233
  • August 20231
  • July 20239
  • February 20231
  • June 20221
  • May 20221
  • September 20211
  • July 20213
©2020 - 2023 By Colythme
Framework Hexo|Theme Butterfly
Search
Loading the Database