A. Regular Bracket Sequences
枚举前缀(
的个数就可以搞出(n)个,刚好够。
B. Combinatorics Homework
(x)对相邻相同的二元组需要(x + 1)个字符。
首先,凑不出(m)个肯定时不行的
如果全用个数最多的字符来组相邻相同的二元组,完了之后剩余字符没办法做到不新增相邻相同的二元组,就不行。
剩下的情况就都可以。
C. Slay the Dragon
首先要派出一个英雄去打龙,有两种情况:不嗑药就打得过,嗑药才打得过。然后每种情况贪心去搞。
对于第一种情况,派大于且最小的去打龙,剩下的守城。因为如果派更强的去就浪费战力了。
对于第二种情况,派小于且最大的去打龙,剩下的守城。因为此时,如果守城的不需要嗑药,花费最小;如果守城的要嗑药,其实派任何打不过龙的去代价都一样。
D. The Strongest Build
肯定每个装备都尽可能好才更优啊,然后猜了个假结论:若(x^n > m),那么每个插槽都至多只需要考虑最后(x)个装备就行了(鸽巢原理)。
然后快乐DFS暴力枚举。
然后WA了一万年。
3
6 1 2 3 4 5 6
6 1 2 3 4 5 100
6 1 2 3 4 5 100
3
4 6 6
5 6 6
6 6 6
快结束的时候才想到上面这个反例。
然后想了个奇妙的trick加上去卡过了pretest:就是对于被一个被禁的套装,对于每一个插槽,看能不能把他换成刚好比套装里差一档的装备。
不知道这个trick是不是也是假的,不过看起来挺合理的。
吐槽
前三题都一眼,然后D卡了一万年,E没时间看。
上一次打rated round已经是六月的时候了,工作之后一直没有时间打,中秋放假终于打上了。
现在住的房子国庆前需要搬走,本来傍晚打算搬家的,不过下雨把我劝退了,明天再搬吧。
工作也两个多月了,感觉已经跟上节奏了,又感觉好像没有。