04 2023 档案
摘要:比较好的题目,别的不说,G1 对 G2 有着不错的启发性。 首先,因为 ,所以 不可能超过 考虑对 分类讨论,设置一个阈值 ,先处理 的情况,其实就是取三个相同的数然后排列,可以比较简单的排序之后做到 $O(n
阅读全文
摘要:我们可以先 ,设 和 表示当前三个棋子分别在点 ,目前轮到 走,谁胜利,最终会走多少步。 然后我们发现,变成一个有向图博弈。并且 是由 的奇偶性唯一确定的。就可以在图上直接做了。 首先我们发现
阅读全文
摘要: 先把当前要解决的点旋转到位置 ,问题不变。求 次即可。 我们先来看两个没有结果的解法。 一就是一 我们先考虑暴力 ,设 表示当前已经安放了 个奶酪,被喂饱的老鼠的集合为 的概率。容易发现 其实就是
阅读全文
摘要:首先观察这个奇怪的子树为 或 的限制。 看不出来性质,润了。 我们不如直接把 树和 树拆开,变成两棵树,然后在树上留一下匹配的性质。 第一,我们对着样例构造一下,发现似乎有解的样例都有 的解。 这就提示我们猜用 就够
阅读全文
摘要:首先,我们来思考我们要构造的是什么。 我们要构造的是一个无论怎样操作字典序都会变小的序列,且这个序列的字典序是最小的。 然后考虑字典序会变大的条件。 如果字典序变大了,那么一定是在前 位不变的前题下, 位的变大了。那么变大的一定是从后面来的。 而我们考虑所有的数对 $(a_i,a_
阅读全文
摘要:首先,我们来证明一个引理: 若最优解中,最终串中的字符 在最早来自原串中的字符 (显然, ),则称 的匹配是 ,则在所有的匹配方案中, 会在全串存在匹配的前提下尽量选择 最小的的 进行匹配。 我们可以运用
阅读全文
摘要:先贴自己的缺省源 #include<bits/stdc++.h> using namespace std; #define rd(i,n) for(int i=0;i<n;i++) #define rp(i,n) for(int i=1;i<=n;i++) #define rep(i,a,b) fo
阅读全文
摘要: 首先,我们考虑一只兔子可以达到的最大值 和最小值 ,这个可以很方便的求出来。并且每只兔子的取值是独立的。 然后,如果一个组合能被选中,那么在这个组合内部所有的兔子都取 ,其他的兔子都取 的时候一定也能被选中。我们就钦定所有
阅读全文
摘要:我们可以把这个理解成一种类似卡塔兰数的形式,我们发现,被安排的 球总数 和已经出现的颜色种数 在任意时刻都必须满足 。 然后就可以 了,我们每次钦定下一个转移的球是某种颜色。如果下一个转移的球不是 ,那么我们就一次性把后面所有这种颜色都安排好,
阅读全文