摘要:
题意:给定一棵初始所有节点为白色的有根树,定义一个节点是“好的”当且仅当它与它的所有祖先节点都是黑色的,定义一次操作为随机一个不好的点染黑,求期望操作数。 首先根据期望的线性性,总期望操作数等于每个节点上的期望操作数。 接着每个节点上的期望操作数仅与该节点的深度有关。学校里盯着这点看了半天都思考不下 阅读全文
摘要:
题意:圆周上有 $n$ 数,每次把圆周上的一段区间整体减一,问最少几次操作可以归零。区间自己不重叠。 思考在数轴上的场景,一次加相当于差分数组一个位置减一个位置加,差分数组绝对值之和的一半即为答案。 放到圆周上,以 $1$ 为起始点,若区间不跨越原点,仍是一个偏前的位置加,一个位置减;若跨越原点,则 阅读全文
摘要:
好题。 题意:$n$ 只蚂蚁在圆周上以同样速度顺或逆时针爬行,相遇时同时转向,$t$ 时间后求每只蚂蚁坐标。 首先是经典结论:等速同时转向等价于交换身份。 接着,忽略蚂蚁的交换编号,所有蚂蚁的相对位置不变。 因此,可以固定一只蚂蚁找其新编号,也可以固定一个位置找其对应蚂蚁。前者看着好做一点。 维护第 阅读全文
摘要:
题意:对满足以下条件的序列计数,膜 $998244353$: $0 \leq a_0 \leq a_1 \cdots \leq a_n \leq m$ $a_i \not\equiv a_j \pmod 3 $ 这题的难点在于发现它是简单题。 想了一上午生成函数啊( 不等于很难处理,所以做一遍差分, 阅读全文
该文被密码保护。 阅读全文
摘要:
这段时间第一道没能自己想出来的题。 题意:给定 $n$ 个数,二人玩游戏,每次把全局最大数减小并改成一个当前未出现的数,不能操作者败。求胜者。 首先我们来研究一次操作时的情景。首先,当其它值不变,最大值大于次大值加一时,当前状态能走到所有最大值为次大值加一时的状态。这是一个有意思的性质,启示我们去看 阅读全文
摘要:
空心蓝好简单。为什么我还是打不上蓝呢。 为什么我次次 debug 40+min 呢 /ll 题意:给定数组 $a$,对每个 $i \in [1,m]$ 求最少做几次操作让剩余元素和为 $i$。 一次操作定义为:取出一个连续子区间并删去。 首先区间不会重叠。如果重叠了可以只用一次删掉。 然后这很一眼 阅读全文
摘要:
本次考试共收到 1484 个文件夹,考号范围 \([1,1620]\),这说明还是有不少人完全没有参考。 #include 在 5118 文件中有 10304 个结果,这说明至少有 518 个完全没有动的题。 有两位选手分别在 T1 和 T3 使用了 pbds,分别使用了哈希和平衡树。 CCF 在 阅读全文
摘要:
能评到空心黄是不是只是因为位置原因啊。 真心只有 *1800 左右罢。 题意:对满足以下要求的序列计数: 由 R,G,B 组成,其中恰 $R$ 个 R,$G$ 个 G,$B$ 个 B。 连续的 RG 作为子串恰出现 $K$ 次” 。 膜 $998244353$ 输出。 这里的连续 RG 好突兀啊,能 阅读全文
摘要:
挺喜欢这道题,可惜大号已经红了,又不想要估值,只能用小号交。 题意:A 先手玩游戏。有 $n$ 个数 $a_1-a_n$,A 每次可以任意取一个数,B 每次会取没有被取的数中下标最小的一数。保证 $n$ 为偶数。最大化 A 拿到的数字和。A 可以选择一个数字 $k \in [0,n)$,把第 $1$ 阅读全文
摘要:
挺喜欢这道题的,但是因为 vp 时过了不能写成做题笔记,所以只能写成题解了。 绿太配这道题了,实现难度极低,但思维难度较大。AT 评了 #1719,倒也算恰当。 题意:给定一张 $n$ 点 $m$ 边的无向图,每个点染成红或蓝,恰 $k$ 点染红,使得两端点不同色的边的数目为偶数,输出方案数。 两端 阅读全文
摘要:
比较有趣的用点思维的题。 在学校和 DYS 一起推出来的题,庆祝 AT 复活写个题解。 感觉用无序列表列出自己思绪的过程很简洁扼要,但是行文节奏过快。介于我想重现自己今天上午的思路过程,这篇题解用对话体写出。 师:现在,让我们看 abc274F。给定 $n$ 条鱼的初始位置、速度、重量,请任选一个时 阅读全文
摘要:
这道题的难点,恐怕在复杂度分析( link 首先我们可以自由选择把询问放到上面或下面。放到上面,等价于对每个点求其子树内有多少某颜色的点;放到下面,等价于对每个点求其祖先中有多少某颜色的点。这种有可减性的针对子树或祖先的信息,可以利用差分离线一遍 dfs 一起统计。 那么明显,如果上面点少就挂到上面 阅读全文
摘要:
首先看到这道题的人都知道这是树上背包。背包的部分可以略讲。这道题的重点是,为什么树上背包加上合并信息时的上下界优化可以做到 $O(n^2)$? // O(n^2) for(int k = siz[u] + siz[v]; k >= 0; k--){ dp[u][k] = inf; for(int j 阅读全文