场上由于数据数据较水 都有人骗过去,出题人在此谢罪。

祝大家 愉快!

A

可以将题意简化成快速判断是否可以 秒从

显然 的奇偶性是相同的,并且 才能是 "Yes" 。

这也是充分的,因为可以到 后上下上下循环走。

时间复杂度

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47843460

Challenge: 如果问求方案数怎么做呢?

B

由于是 题就让数位 过了(

将询问差分,即

而对于 中,二进制下有奇数个 的个数可以 ,其中 表示二进制下 的个数。

证明需要分类讨论:
1.如果 为偶数,那么 为奇数,容易看出 的奇偶性是不同的,那么在 中可以划分为 个区间与若 为偶数那么答案为

2.若 为奇数那么答案即为

结合一下即为上式,时间复杂度

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47843504

C

自然的想法是将 个数放到同一个长度为 的区间内进行模拟即可。

则我们考虑维护放到同一个区间过程,记录每次所需转移量即可解决。

最后会剩下小于 次操作,直接模拟即可。

时间复杂度

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47843545

D

由于直接递推为 的,而由于 的性质考虑拆开维护

显然上述是一个数论分块的式子,考虑利用根号的性质解决。

如果 只会有 个。

那么我们只需要关系 的情况,由于上述 转移是一个长度以 的一段区间和,不难想到通过前缀和实现。

表示 的和即可实现 转移。

由于两部分时间复杂度均为 ,总时间复杂度为

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47843557

E

考虑当 的情况,我们将点对 表示 的结果。

由于 ,所以对于 ,都可以表示成 的形式,但是 不一定均大于

而一条斜线上的点 ,则

而当 时即为最大的斜线使得在第一象限内没有点。即为 ,答案为

而当 时我们发现当当 无法表示时, 均无法被表示。

无法表示时, 均无法表示,并且此条件是充要条件。

那么问题转换为给定 ,每次操作可以减去 ,求第 大的数。

可以通过优先队列维护,时间复杂度 ,无法通过本题。

线性做法

假设 。由于答案不能算重则当减去 时就不能在减去

维护两个队列,一个队列表示当前能减去 ,另外仅能减去 ,那么每次在两个队头取最大的比较即可。

正确性类比 蚯蚓。时间复杂度

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47843660

F

显然有许多 的做法,但均通过不了此题。

对于每种相同的 单独考虑,并将其树转成以 为根的有根树。

我们设当前考虑的颜色为 ,考虑补集转换,若对于路径 不存在 的话那么 一定在一个不包含 的连通块中。

我们只要找到对于颜色 的极大不包含连通块,将其减去每个点答案减去连通块个数。

那么我们只要找到所有 颜色的极大连通块即可,有一个很显然的是连通块一定仅包含一个根,而根的父亲的 一定是

现在我们已经知道每个点为根的颜色,而个数即为在该子树下做洪水填充时没有碰到 时的结点个数。

而这个显然可以记 表示,需要注意一下许多颜色都有强连通块的根为 的个数。

树上差分即可解决。

时间复杂度 ,代码有轻微卡常。

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47843650