摘要:
好多遍了都不会,,, 最重要的一步是想到 \(p = \lfloor\frac{p}{i}\rfloor\cdot i + p\bmod i\) \[p\equiv 0 \pmod p \]\[\lfloor\frac{p}{i}\rfloor\cdot i + p\bmod i\equiv 0\p 阅读全文
posted @ 2024-10-15 13:45
SkyMaths
阅读(18)
评论(0)
推荐(0)
摘要:
对于无根树上任意一点 \(u\),以 \(u\) 为根的有根树的最大深度的叶子节点中必然有一个为直径 因此,对于一棵树,将其任意一边断开,得到两颗树,设每棵树的最远点对集为 \(diam(t)\),则 \(diam(u + v) = diam( diam(u)\cup diam(v) )\),反证法 阅读全文
posted @ 2024-10-15 13:44
SkyMaths
阅读(36)
评论(0)
推荐(0)
摘要:
不知道该怎么简单维护。 树上问题,父子之间有“大小/顺序”关系的,可以尝试一下并查集,并查集支持删除可加减的贡献,但是不支持断边,考虑只加不删,就是从子树开始考虑,从小的拼到大的。 阅读全文
posted @ 2024-10-15 13:44
SkyMaths
阅读(15)
评论(0)
推荐(0)
摘要:
CF506E 分析 分析可以看 这篇题解。 实现 主要讲一下矩阵的构建。 首先我们是用矩阵模拟 DP,令 \(A^k_{i, j}\) 为从 \(i\) 经过 \(k\) 条边到 \(j\) 的方案数。 于是先有 \(n1\) 个 \(24-\)自环点,\(n2\) 个 \(25-\) 自环点,\( 阅读全文
posted @ 2024-10-15 13:44
SkyMaths
阅读(17)
评论(0)
推荐(0)
摘要:
给定一个大小为 \(R * C\) 的网格图和 \(m\) 个水平或竖直的隔断,问有多少个连通块 \((m <= 2e5)\)。 做法1 考虑平面图欧拉定理 面数 = 边数 - 点数 + 边联通块个数 + 1 做法2 维护一个“并查集” 阅读全文
posted @ 2024-10-15 13:43
SkyMaths
阅读(29)
评论(0)
推荐(0)
摘要:
这题有两个很妙的做法。 做法 1 网格图 点 > 边 横纵坐标 > 点 对于每个点,将横纵坐标之间连一条边。 转化为无向图欧拉回路定向问题。 做法 2 直接“乱搞”。 考虑对于每个横纵坐标随便配对连线二分图染色,发现一定是二分图,因为边只有横边与纵边,且每种边数量 \(\le 1\),最终的简单环必 阅读全文
posted @ 2024-10-15 13:43
SkyMaths
阅读(35)
评论(0)
推荐(0)
摘要:
※重要※ 在建边的时候考虑的其实是若被割在 S/T 则怎么样,不用考虑剩余流量的多少。 求和-最小割 特征 最终是一个定长 01 序列,对于这个序列算最值贡献 01 序列的每个都会对某些变量产生限制 (“要么要么”的是限制) 建图 考虑对于每个值都拆成 \(V + 1\) 个点,用最小割上的 边 来 阅读全文
posted @ 2024-10-15 13:43
SkyMaths
阅读(33)
评论(0)
推荐(0)
摘要:
维基百科 系数:coefficient virtual 虚拟的 树状数组或二元索引树(英语:Binary Indexed Tree),又以其发明者命名为芬威克树(英语:Fenwick tree) 一个顶点(vertex,或多个顶点,vertices)或节点(node)是构成图的基本单位 Kn 即 n 阅读全文
posted @ 2024-10-15 13:43
SkyMaths
阅读(19)
评论(0)
推荐(0)
摘要:
记得赋初值 struct ODT { ::map <int, int> mp; int get(int x) { return prev(mp.upper_bound(x))->se; } auto split(int x) { return mp.insert(make_pair(x, get(x 阅读全文
posted @ 2024-10-15 13:42
SkyMaths
阅读(34)
评论(0)
推荐(0)

浙公网安备 33010602011771号