I'm 666?No,I'm wu.
随便搞点什么东西罢...

【弱省胡策】Round2题解

shinbokuow posted @ Jun 03, 2015 08:44:08 AM in water , 2506 阅读

A.沼跃鱼的FFF

By wyfcyx

来自BZOJ2891,但是上一次AC已经是近两年前,而且多位神犇都是利用随机很多次这种方法过的.

其实这个题很简单.

注意到$n\leq{6}$,显然要在这个上面做文章啦.

令$f[i][j]$表示在前$i$个Po姐参与匹配的情况下,大爷匹配状态的集合为$j$这种情况发生的概率.

何谓匹配状态:就是指一个二进制数,第$i-1$位以0/1表示第$i$个大爷是否在匹配中.

考虑第$i+1$个Po姐,我们可以$O(2^n)$枚举她可以和哪些大爷进行匹配,那么现在的集合会变成什么样子呢?

对于原集合的所有状态,以及现在新增的若干匹配边,若这个状态加上这条匹配边得到的新状态不在原集合中,我们就将这个新状态加入集合.

于是这样的集合数明面看来是$O(2^{2^n})$的,看起来直接要爆炸了.

其实很容易注意到每个大爷只会在第一次出现在匹配边时造成影响,那么有用的信息只有最终所有匹配边中大爷的并集,以及加入大爷的顺序.

于是可用的集合数最多只有$O(n!2^n)$这么多.这样算一下感觉很爆炸,但其实还有很多重复,最坏只有$4000$个状态.

这样简单的dp就可以了.

状态数为$O(n!2^nm)$,转移数为$O(2^n)$,总时间复杂度为$O(n!4^nm)$.

当然需要一些简单的预处理,不过这里就不说了.

http://ch.ezoj.tk/record/45061

B.沼跃鱼的Mushroom

By 18357

1.呵呵。强行分类讨论?

2.呵呵。强行分类讨论?

3.枚举然后判断树同构?

4.枚举然后判断树同构?

5.贪心+贪心。

6.贪心+贪心。

7.贪心+树DP(呃或许说是dfs?)。

8.贪心+贪心。

9-25.膜能写出特判的神犇。

[正解]

我们从深往浅对每一层进行处理,求f(I,j)表示左子树选个节点i,右子树选个节点j,所能得到的最多匹配节点数,这个过程可以用最大费用最大流来求解。

[分值设置]

我觉得出100个点会卡爆CH。就是这样。

[题面思路]

我不认为小丑的盒子、女警豹女的夹子、巴德的坛子等等可以搞成这道题。

其实扎克变成若干块,然后判断扎克同构神马的嘛。呃扎克变500块太可怕了Qwq。

http://ch.ezoj.tk/record/45054

C.沼跃鱼的Password

By jkxing

算法1  KMP+暴力check
KMP出哪些串的前7位和B串是匹配的,然后暴力check有多少不一样的,期望复杂度$O(nm)$,期望得分30分.
 
算法2  KMP+FFT
前半部分还是KMP,但是后半部分不同。
把A,B串的末位提出来,B串反向,求一遍卷积,这样我们就得到了从某个位置开始匹配两串同为1的个数.
然后把A,B串分别按位异或,再求一遍卷积,就求出了同为0的个数。
然后就可以$O(1)$时间内判断从某个点开始匹配需要更改的字符个数了,时间复杂度$O(nlogn)$,期望得分100.
 
算法3 乱搞
或许可以只check最后一位,有可能会得到很多分,因为并没有特意做数据……期望复杂度O(?),期望得分?
http://ch.ezoj.tk/record/45020
FSOL 说:
Jul 06, 2015 12:41:46 PM

A不太懂啊……如果一个Po姐同时和多个大爷互相喜欢的话Po姐会选谁呢……这条边走到的新状态会多谁……


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter