竞赛讨论区 > 【题解】牛客小白月赛17
头像
sd197555
编辑于 2019-09-16 14:38
+ 关注

【题解】牛客小白月赛17

A 小sun的假期

题目本意是用若干个区间覆盖数轴,最后问没有覆盖到的区间最大长度。

以左端点为第一关键字,右端点为第二关键字区间排序后,从左到右维护一下当前的最大ans就好了。

B 扫雷

直接遍历整个矩形,对于每个非雷的区域统计周围雷的个数。

C 异或和

考虑异或的性质,直接取所有数的异或和就行了。

D 解密

两种解法。

一种是直接把密文表打出来(因为只有52个字符),然后进行解密。

另外一种把式子稍微变换一下,得到

求k1在26下的逆元就行了。

E 图的遍历

考察这个遍历的性质,发现如果图存在奇环,那么跟当前奇环联通的所有点全部可以遍历到。

首先讨论图有多少个联通块,在这些联通块中,若存在一个包含奇环的联通块,那么将当前的联通块与所有的不包含奇环的联通块相连就行了,答案个数为不包含奇环的联通块个数。

若所有的联通块都不包含奇环,那么可以用若干条边在k个(k为奇数)联通块之间构造一条奇环,然后再把其他的联通块跟当前的奇环相连,答案为联通块的个数。

F 小黄鸭

纯数学题,可以建系积分。

图中h即为所求,可设圆的方程为(没在水中的长度)
由积分的知识可以知道:

V可以由浮力定律求出,在这里V=m。

最后会得到:
二分求解即可

G 区间求和

对于每个区间,要求


代表在这个区间中出现的次数。
对于每个区间中出现的,对答案的贡献是
对于这个值,可以用莫队很好的维护。

H 取球游戏

设dp(i,j)为取球i次,最终桌面上有j个球的概率。
根据桌上是否存在同颜色的球,可以很容易的写出转移:
复杂度O(nc),发现做不了。

不过好在其实并不用算那么多,n达到大约1e5(甚至更小)这个马尔可夫过程就已经收敛了,所以,你只用算到n<=1e5的情况就好。

需要注意当n,m奇偶性不同时无解。

黑书(算法艺术与信息学竞赛)上还记录了一种用生成函数做的题解,有兴趣的各位可以自行查看黑书P259。

I 坐电梯

根据所在的楼层是否是最高的楼层计算答案即可。

J 计数

我的思路有点绕:
考虑这种序列:,需要求解。
可以发现两点

  • 解的结果与的具体值无关,只与中间可选择的数的个数有关
  • 因为递减序列倒过来就是递增序列, 所以满足条件的递增序列的个数与递减序列相同。

为长度为i,最后一位是j的递增序列个数。

其实就是


边界

发现就是组合数:

于是对于每个连续的0区间,计算0的个数与两端a,b的差值,然后用组合数计算答案即可。

全部评论

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

等你来战

查看全部

热门推荐