竞赛讨论区 > 【题解】牛客练习赛55
头像
即将掉蓝名的弱弱
编辑于 2019-12-14 15:40
+ 关注

【题解】牛客练习赛55

A-等火车

输出即可。

B-数字游戏

容易证明第一次擦掉的是奇数,甲必败,否则甲必胜。

当第一次擦掉是奇数的时候,黑板上一个有个偶数,甲最多擦掉个偶数,所以乙必胜。

当第一次擦掉是偶数的时候,设为

那么把个整数分为

当乙擦掉一组中的某一个数的时候,甲把另一个擦掉。

最后只会剩下同一组的两个整数,它们互质,甲必胜。

所以答案输出

C-最大生成树

发现首先把连边,然后要不和连边,要不和连边。

容易证明这样的答案是最大的。

存储即可。

D-求和

其中

考虑组合数意义,相当于从走到的方案数。

那么相当于从这个矩阵中选择一个点,走到中选择一个点,走过去的方案数。

然后就把所有起点出来走到每一个终点的值,然后累加一下每一个矩阵的答案即可。

时间复杂度

E-树

表示从的深度。

那么

那么前部分可以直接计算。

后面两个部分,枚举

也就是要计算这样的数对个数,以及这些数对的

表示这颗子树的大小。

数对个数即为

表示这颗子树的之和。

那么之和即为

时间复杂度

F-字符串

可以转化为一个的矩阵,不能经过一条斜率为的线段的方案数。

那么把所有障碍点按照轴从大到小排序。

表示从第个不能到达的点开始,不经过终点的方案数。

由于斜率为,所以

都看成一个多项式。

也就是

那么直接多项式求逆即可。

最后

时间复杂度

std:
a:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42513174
b:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42513176
c:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42513178
d:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42513180
e:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42513183
f:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42513185

全部评论

(8) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐