牛客小白月赛86

                                         A题


这是简单的一题判断浓度的题目,如果第一杯的浓度大于第二杯那就加水,反之则加盐。
然后这里用double,int会向下取整。这里我们判断的是a/b是大于c/d,不等式的运算定理,
我们也可以转换成乘法,就可以用int了,这个数据是1000所以不会超

B题


这题题解是分类讨论,我喜欢简单粗暴的,本题其实只会输出10和0不可能出现5的情况,因为小灰灰会给他加选项,
那我们只需要用小蓝的答案s遍历一下正确答案f,如果有一样的,就用计数器计记起来,最后判断这个cnt是否和小蓝给出的
答案长度相同即可

C题

我一开始用的是暴力,但是过不了 ,这题很明显是前缀和,那我们直接先把这个数组分段分好,如果a[i]!=a[i+1]的话,我们就需要给它们分段。
b[0]是等于1的,每一个b[i]对的就是区间1到i的分段数,我们要找区间l到r的分段数,我们就是直接查询即可,输出b[r-1]-b[l-1]+1。
为什么要加一呢,因为有抵消

posted @ 2024-01-20 09:07  kevinkd  阅读(24)  评论(0)    收藏  举报