Skip to content

Latest commit

 

History

History
38 lines (19 loc) · 1.16 KB

srm-452.md

File metadata and controls

38 lines (19 loc) · 1.16 KB

TopCoder SRM 452

NotTwo

题意:

给出$width \times height$的格子,放入最多的棋子,使得任意两个棋子的欧几里得距离不是$2$。

$1 \le width, height \le 10^{18}$

题解:

把网格$(i,j)$按照$(i \bmod 2, j \bmod 2)$分成$4$类,每类都是个矩形,且相邻的不能选。

IOIString

题意:

给出一堆字符串,依次连接得到字符串$s$,$s$里面只有IO?。你要把?填好,要求存在一对整数$a$和$b$,使得$s_a s_{a+b} s_{a+2b}=\text{IOI}$,求方案数对$10^9+7$取模。

$1 \le |s| \le 2500$

题解:

打表发现不合法的字符串里面的I位置一定构成了等差数列,且公差不是偶数。然后就可以$|s|^2$枚举所有不合法的字符串,判断是否满足条件即可。

IncreasingNumber

题意:

给出$n$和$m$,求有多少长度为$n$的十进制串满足每一位非递减,且是$m$的倍数。

$1 \le n \le 10^{18}, 1 \le m \le 500$

题解:

注意到一个合法的数一定是不超过$9$个$11..1$相加得到,且$\underbrace{11..1}_{n}$一定存在。把所有的$11..1$按照模$m$的等价类分类,然后就可以直接dp了。