码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) 题解

时间:2018-08-21 18:25:26      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:rate   自己   nbsp   表示   ack   结束   条件   bsp   水题   

真心简单的一场比赛 就是坑比较多(自己太蠢)

A是一个水题 3分钟的时候过了

B也是一个比较简单的题 类似的套路见得多了 但是我当时可能比较困 想了一会才想出来 19分钟的时候过掉了

C同样很显然 性质不难发现 我在30分钟的时候通过了pretest 但是由于自己的愚蠢 忘记写了一句话 导致FST了。。。

D本来是一个简单的dp题 但是我一直没往dp上想 在网络流上刚了1h之后终于换了思路 在1:45的时候通过了他

然后就时间不多了 E都没看 就去hack 成功hack了2个之后比赛就结束了

 

题解

 

A

如果有两个同样的puppies就符合条件 因为我们可以用这两个把他变成别的颜色 然后就可以一个个把颜色都清除 直到最后剩下一种颜色为止

注意如果长度为1也就是只有1个字符也是可以的 要特判

 

B

我们可以发现如果可行,那么一定有一个质数满足条件

然后我们可以找到$a_1$和$b_1$的所有质因数,分别看他们是否满足条件即可

 

C

假如我们把一个串s分成 s1|s2

那么我们做完操作之后 串变成s1|s2

其中s表示s的倒序

那么我们如果把串写在环上 会发现操作之后整个环没有实质上的

比如串bwbwbwbbwbwb 我们在第4位截开 并操作一番

技术分享图片

然后我们把第二个环倒置(s到t变成t到s)并且旋转4个位置

技术分享图片

我们得到了原来的环

所以说明了操作不会改变环的实质

所以我们只要计算环上最长的"zebra"长度即可

把串复制一遍 然后扫一遍就可以得到答案

 

D

令$dp1[l][r]$表示从$l$到$r$这一段,以$l-1$为根,能否做成bst

$dp2[l][r]$表示从$l$到$r$这一段,以$r+1$为根,能否做成bst

那么我们这样转移:

$$dp1[l][r]=Or_{k \in (l,r), gcd(a_{l-1},a_k) \gt 1} {dp2[l][k-1] \& dp1[k+1][r]}$$

$$dp2[l][r]=Or_{k \in (l,r), gcd(a_{r+1},a_k) \gt 1} {dp2[l][k-1] \& dp1[k+1][r]}$$

Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) 题解

标签:rate   自己   nbsp   表示   ack   结束   条件   bsp   水题   

原文地址:https://www.cnblogs.com/wawawa8/p/9512929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!