Codeforces Round #533 (Div. 2) 题解

版权声明:本文为博主原创文章,转载请联系博主(通常都会同意就是了) https://blog.csdn.net/cccccwb/article/details/86568226

全程围观隔壁HYX大佬四道题全部一A……反观我这边四道题罚时罚了五次……Orz

A:Salem and Sticks (1105A)

乍一看像是DP,仔细一看发现数据范围实在太小,数字只有一千个,波动范围和答案都只有一百,所以直接暴力枚举t找最小的结果就是答案了……

B:Zuhair and Strings (1105B)

要求所有字母中“由长度为k的不重叠的该字母组成的串”最多的字母有多少个这样的串……对每个字母开个桶记录已经有多少个串,然后直接扫一遍,用一个计数器记录一下,如果与前面不一样就判断一下计数器是否大于等于k,是的话就更新一下桶和答案,不是就直接过了就好了。

C:Ayoub and Lost Array (1105C)

看上去就很像是DP,实际上也的确是DP,考虑用f[i][0/1/2]来记录到前i个为止的和模三等于0、1、2的情况有多少种,转移的话分类讨论一下就OK了,就是麻烦点。

题目相当友好的给了第三个样例来提醒你要开long long……

唯一一道一A的题目……MD还是太菜了。

D:Kilani and the Game (1105D)

猛一看妈呀好难,第一反应就想状压,仔细一想发现暴搜似乎可过?考虑用p个队列来维护玩家分别有多少个点,每一轮游戏都模拟一遍。表面上看效率好像笋干爆炸,实际上仔细一想发现,每一个点显然只会入队一次和出队一次,实际效率也就O(n*m)……

扫描二维码关注公众号,回复: 5027006 查看本文章

不过这题骚的一批,需要考虑有可能某个玩家已经无法继续拓展和有障碍物把一个空格围起来导致棋盘无法铺满的情况……被坑T了两个罚时的我QwQ

E:Helping Hiasat (1105E)

很显然的是,每次改变handle之后,直到下一次改变handle之前,来看主页的朋友里面最多只能有一个人笑到最后……以这个思路建图,对所有冲突的朋友之间两两连边,之后把图反转,有连边和没有连边互换(因此使用邻接矩阵会方便很多),问题转化为一个点数范围为40的图的最大团问题。不过需要注意的是建图的时候需要去重,以及对解决最大团问题的算法有一定效率要求,不然有可能会T掉。

猜你喜欢

转载自blog.csdn.net/cccccwb/article/details/86568226