Codeforces-166-div2

刷小小号呢。

一次大好的 rank1 的机会就被浪费了,好桑心……

不过 rank5 也还不错的说?

Solution

A

水题,枚举即可。

由于这几天写 Haskell 于是顺手用 Haskell 来写 = = 发现手速更慢了。

B

水题。预处理出每个数至少要加多少次,统计每一行每一列的和即可。

C

构造。有很多种构造的说。

无解显然是 n < 3k

我的: 1 1 2 1 2 2 循环很多次,如果 k 是奇数那么就是 k k 1 1 2 1 2 2 k

另一种: 1 1 2 2 ... k k 1 2 ... k

D

据说 hash 挂的很惨。

其实 trie 很好的啦……不过我写的不是 trie ……我把所有字符串全部排了序,然后减去 LCP 的长度和即可。

E

这个题就不太简单了。

首先可以证明: (x, y) 可以变化到任意一个 (x + a, y + a) ,不管 a 的正负。做法如下:

(x, y) -> (y, 2y - x) -> (x, 2y - x) -> (ceil(x/2), y - floor(x/2))

可以发现, 这两个数的差仍然是 y - x ,而当 x > 1 时, ceil(x/2) < x ,所以我们最后一定可以得到 (1, y - x + 1)

接着另一个结论:若 x 是奇数,那么 (1, x) 可以得到 (1, ceil(x/2)) 。显然嘛。

然后引出终极结论: (x, y) 最后可以变成 (1, 1 + t) ,其中 t 是 y - x 最大的奇因子。而能产生 (1, a_i) 则要求 t 是所有 a_i - 1 的因子。

于是暴力枚举 t 即可。

situation

在家做笔记本没手感啊。

看完 A 这不水题一个么……速上 Haskell 发现好慢 T_T

看完 B 这不水题一个么……怒上 C++0x ……数组开小了 FST 了啊……哭瞎了啊……

看完 C 同上。随手 YY 一下即可。

看完 D 同上。第一想法居然是后缀数组?发现长度只有 1500 ?暴力建后缀数组吧 = =||

看完 E 发现不会做啊。YY 了若干久没啥好想法,发现没草稿本啊亲……于是只好用画图 YY 了。

结果乱 YY 一个结论居然过了全部样例?好吧就这样吧。

然后开始 cha 人。看了半天没想法,看着 E 题某人只判 t = 2 的情况,于是想 cha 掉,然后挂了 T_T 。截图如下,我多么希望网速能够慢一点啊。

Sorry, the picture can't be loaded

others

XLk 和 xiaodao 开黑……然后两人的 DE 全挂了……

xiaodao 只做了 DE 。是懒得刷 ABC 吧。

liouzhou_101 似乎没搞出 E ?还是 D 用的时间太久了?

zrx 小朋友一开始说要做的,结果不知道做没做,我还不知道他 ID 呢。

然后没谁参加了……

nonsense

现在大号红了小号黄了小小号紫了 div1 的各个颜色都有了。