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