Loading

摘要: 本文核心卖点:用树状数组神秘地维护哈希(不如另一篇题解巧妙,内含简单数论知识)。 观察到,走这个操作的可行性关于走的步数有单调性,考虑二分走的步数。 那么如何判断从点 \(x\) 走 \(mid\) 步的可行性呢?树的结构是固定的,每一种走法(路径上每个点儿子的排名构成的序列)与走到某个重点一一对应 阅读全文
posted @ 2024-08-13 17:21 TongKa 阅读(78) 评论(0) 推荐(0)
摘要: 数论分块 若可以 \(O(1)\) 计算 \(f(r) - f(l)\),那么就可以 \(O(\sqrt n)\) 计算 \(\sum^n_{i = 1} f(i)g(\lfloor\frac{n}{i}\rfloor)\)。 关于 \(l , r\) 的含义与计算: 含义:\(\forall x 阅读全文
posted @ 2024-06-06 20:23 TongKa 阅读(48) 评论(1) 推荐(0)
摘要: 考场上上厕所的时候灵机一动,为什么不倍增呢? 考虑如何倍增。 \(f[s][dir][x][y] = \{x',y',di'\}\)。 表示从点 \((x,y)\) 开始以 \(dir\) 的方向走 \(2^s\) 步,走到了点 \((x',y')\) ,在 \((x',y')\) 上的方向为 \( 阅读全文
posted @ 2024-05-11 15:41 TongKa 阅读(31) 评论(0) 推荐(0)
摘要: 看到题,感觉像树形DP,遂设计DP式子。 \(dp_u\) 表示以 \(u\) 为根的子树内最多能删多少次(不删 \(u\))。 那么每次子节点到父节点增加的贡献就是 \(\lfloor\frac{子树大小为1的子节点个数}{k}\rfloor\)。 得出式子 \(dp_u = \sum_{v\in 阅读全文
posted @ 2024-05-10 15:14 TongKa 阅读(54) 评论(0) 推荐(0)
摘要: 最近准备学数据结构乱搞,接下来学k-d tree 大致介绍 可以使用整体二分解决的题目需要满足以下性质: 1.询问的答案具有可二分性 2.修改对判定答案的贡献互相独立,修改之间互不影响效果 3.修改如果对判定答案有贡献,则贡献为一确定的与判定标准无关的值 4.贡献满足交换律,结合律,具有可加性 5. 阅读全文
posted @ 2024-05-06 14:54 TongKa 阅读(40) 评论(0) 推荐(0)
摘要: 这次集训有收获也有不足 收获 1.学会了广义扫描线,反演,对数据结构,扫描线的理解进一步加深 2.学会了Dinic最大流,Dinic最小费用最大流,对网络流模板,网络流建模了解的更深刻 3.学会了新算法:线性基,并且这几天做了一些位运算的题目,对位运算的性质有了更深刻,全面的了解 4.学会了DP的s 阅读全文
posted @ 2024-04-12 14:43 TongKa 阅读(26) 评论(0) 推荐(0)
摘要: 看到位运算,我们可以按位考虑,毕竟 ^ | & 都不进位(以下的“位”均为二进制下的) 对 \(x\) ,我们从高位向低位考虑。由于 \(2\) 的幂的性质,高位若“胜负已分”,则低位不会对相对大小关系产生影响,这么做是可行的。 现在我们的复杂度添上了一层 \(log\)。 接着考虑,由于或 | 运 阅读全文
posted @ 2024-04-08 20:22 TongKa 阅读(267) 评论(1) 推荐(1)
摘要: 由于我的网络流水平实在令人捧腹,所以今天该复习网络流了 算法 只准备弄下Dinic Dinic最大流 1.处理出层次图 2.在层次图上dfs出最大流 3.将刚刚处理出的最大流叠加到答案中 4.直到建不出层次图为止 点击查看代码 #include <bits/stdc++.h> using names 阅读全文
posted @ 2024-04-02 11:25 TongKa 阅读(15) 评论(2) 推荐(0)
摘要: 期望就是 \(\sum 序列长度 \times 这个长度的概率\) 我们先想长为 \(x\) 的序列出现的概率为多大 长度为 \(i\) 的序列,对于每个约数,约数集合为 \(\sigma\) ,出现概率为 \(\sum_{p \in \sigma} (\frac {\lfloor \frac {m 阅读全文
posted @ 2024-03-19 17:34 TongKa 阅读(14) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-03-16 14:09 TongKa 阅读(0) 评论(0) 推荐(0)