摘要:
Codeforces Global Round #12 link C. Errich-Tac-Toe 考虑对所有格子按 \((i + j)\bmod 3\) 分类。 选取两个类,一类中 O 全部变成 X,一类中 X 全部变成 O。 考虑连续的三个棋子,必定被包含在 \(3\) 个类中,且不会出现连续 阅读全文
摘要:
CF1455E Four Points 先枚举 $4!$ 全排列,即每个点对应哪个顶点。 再固定边长 \(k\),发现 \(x, y\) 代价独立,都是四个值中较大两个减去较小两个。 发现贡献关于 \(k\) 的关系很容易分析,直接取导数为 $0$ 的 \(k\) 点。 #include <cstd 阅读全文
摘要:
Eulerian Number: $n$ 个数的排列有 $k$ 个上升位置的方案数。介绍通项公式的推导。 阅读全文
摘要:
考虑 “高兴” 的点所形成的子序列(显然这是单增的)并插入其他的点(决策集合也只会扩大)。先将原序列升序排序。 直接 DP 这个序列, \(f(pos, cnt)\) 为当前最大值位置 \(pos\),已经决策的点数 \(cnt \le last_i + 1\),\(last_i = \max\{j 阅读全文
摘要:
题意 给定 \(n\) 个点的带权无向完全图,点 \(i, j\) 之间的权值为 \(a_{i, j}\),权值是一个 $1 \sim \frac{n(n-1)}{2}$ 的排列。 计数把原图划分成 \(k\) 个组的方案数,满足: 对于任意的 \((s, f), (x, y)\),其中 \(s, 阅读全文
摘要:
链接 取 \(m = 2\),可以得到答案的一个下界是 \(\lceil {n \over 2} \rceil\)。 直接做很难处理,考虑随机一个值必选。根据答案下界,随机一次能得到最优解的概率大于 \(1 \over 2\),因此随机 \(20\) 次左右即可。 同余条件即 \(m \mid x 阅读全文
摘要:
E: 期望线性性
F: 变换+整除分块 阅读全文
摘要:
简化题意 将 \(w_i\) 全部减 $1$,则问题变成一个序列,其中给定有 \(n\) 个正数 \(w_i\),其余都是 \(-1\),和是 $0$,前缀和均非负,求排列方案数。 做法 如果和是 $1$,且要求前缀和全为正数,有结论:每个排列的所有循环移位只有 $1$ 种合法,所以计数圆排列数即可 阅读全文
摘要:
题意 计数 \(1 \sim n\) 的排列,满足 \(p_i \in (i - n +a, i + a)\)。 \(a \le 10^5, n \le 10^9\) 题解 为了便于描述,将限制画在图上,横轴表示 \(i\),纵轴表示 \(p_i\)。 把图转来转去看几遍,发现一种比较可做的方式是先 阅读全文
摘要:
Luogu CF.ML 结论题。 首先,最后的位置和操作的顺序没有关系。 显然最后 \(h_{i+1}-h_i \in \{0, 1\}\)。暴力算一些答案,可以发现最后的差分序列中最多有 $1$ 个 $0$。 结论:最后的序列中满足 \(h_i = h_{i+1}\) 的 \(i\) 数量不超过 阅读全文
摘要:
一道需要一些思考的 DP 计数题。 阅读全文
摘要:
有一定技巧的简单计数题 阅读全文
摘要:
题意 一个平面上有 \(n\) 个点,\(x\) 为 \([1, n]\) 之间的整数。 每次修改一个点的 \(y\),求平面的上凸壳大小,即斜率的单调栈大小。 做法 首先想到直接单调栈维护,因为有修改,可能用到线段树等支持区间合并的数据结构。 但单调栈不能快速合并,显然不能做。 考虑每次合并左右两 阅读全文
摘要:
// 没错就是所有人都会的那个算法 定义略去,见 Wiki Cut Property 选择图的任意一个割,则其中权值最小的边 \(e(u, v)\) 一定在某些 MST 中。 证明:假设有一个不包含 \(e\) 的 MST \(T\),\(T+e\) 包含了一个简单环,且 \((u, v)\) 经过 阅读全文