ARC068 简要题解

ARC068 简要题解

A

任意一面朝上直接 $5 - 6 - 5 - 6 - $ 或者 \(6 - 5 - 6 - 5 -\)

然后就没了

B

首先把牌张数大于三张的丢到三张以下

设还有两张的有 \(k\)

如果 \(k\)\(2\) 的倍数, 那么可以直接全扔了

如果不是, 需要找到一个只有一张牌的扔掉才能把这 \(k\) 个扔掉

拿个桶记一下

C

长度 $ \geq len$ 的区间中必然存在 \(len\) 的倍数

那么对于一个 \(d\) 就会出现两种情况

一种是区间长度大于它, 直接加上就好

另外一种是区间长度小于它的, 这个时候 \(d\) 的倍数最多只会在里面出现一次

正是因为只会出现一次, 我们可以直接给区间打个加 1 标记然后求 d 的倍数中共有几个标记

可以树状数组做

D

想着想着想到最长反链上去了, 然后就做不出了...

讲得挺好的

posted @ 2020-09-17 20:00  ztlztl  阅读(136)  评论(0编辑  收藏  举报