摘要:
思路 考虑前缀和时每一位的贡献是什么。 对于一个生成函数 。 对其作 次前缀和,函数会变成: 那么其 次项系数: \[\begin{align} &=[x^n](\frac{1}{1-x})^kF(x)\no 阅读全文
摘要:
一点不会套路。 思路 对于中位数相关,发现我们不好直接表示与中位数有关的内容。 不妨枚举 ,把大于 的标为 ,小于等于 的标为 ,这样把所有最终为一的方案数加起来就是原来的答案。 大概是这样一个东西: \[k=\sum_{i=0}^k [i<k] 阅读全文
摘要:
赛时被创四了。 思路 考虑我们什么时候合并会比原来优。 例如,我们现在要合并 和 ,同时保证, 。 那么有: \[\frac{p_1}{100}\times w_1\le \frac{p_1}{100}\times \frac{ 阅读全文
摘要:
一个很套路的做法。 思路 题目要求走完整个树的时间,这并不好算,容易想到 min-max 容斥。 依据 min-max 容斥,我们可以轻松把它转化成第一次走到所有子集的时间。 考虑在这道题中,有什么特殊的。 第一,任何包含根节点的子集答案都是零。 第二,由于我们只关心第一次走到的点的时间,因此假如一 阅读全文
摘要:
思路 由于它要求 数量相等,我们可以考虑站在前缀和的角度看待这个问题。 我们将 看作负一, 看作一。 可以把它化成一个折线图(方便观察)。 观察一下它的操作实际上在干什么。 容易发现,在折线图上,我们把操作的 的整段折线 reve 阅读全文
摘要:
唐唐题。 思路 容易发现,我们只要知道了一条边总共经过了多少次(不计方向),我们就可以跑欧拉回路。 如何求一条边经过多少次。 网格总共有十二条边。 但是只有九个点。 我们可以列出九个方程。 具体来说,每个点的经过次数的两倍就是每一条边的访问次数。 这样列出来的方程有一个是无用的。 所以只有八个不同的 阅读全文
摘要:
第一次写拉格朗日反演。 思路 考虑如何操作。 发现出根节点外有 个点是一。 由于我们只能操作 次,相当于每一次操作必须把两个一合并。 一个点最多往上跳两层,所以要求它的父亲或者爷爷是一。 考虑设 表示当前节点为一并且整个子树总和为 的方案数 阅读全文
摘要:
感觉看到交换就应该要想到逆序对。 思路 一个前置小知识,我们把一个排列用相邻交换复原的最小次数是逆序对数量。 考虑没有 ox 的情况。 我们顺着扫一遍字符串。 把左括号正一,右括号看作负一,当前缀和小于零以后,我们把后面最近的左括号提过来,这样可以构造出交换次数最少的合法括号串。 假如有了 ox 怎 阅读全文
摘要:
不算难的一道题。 思路 考虑原图是一个基环树。 首先在树上部分的路径是固定的,我们没有办法抉择。 唯一需要考虑的是在环上的那一部分。 在环上我们每一个路径有两种选择。 如何考虑到所有情况。 我们每一次断掉环上的一条边。 这样每一个路径就变成固定的了。 我们只需要快速计算贡献就可以。 贡献形如一个区间 阅读全文

一言
太阳落山并不代表他输了,而是他来了。
—— 安讯七旬