Комментарии
На MikeMirzayanovMy Joy, 6 месяцев назад
+6
Поздравляю!
На MikeMirzayanov12 апреля, 13 месяцев назад
+36
Поезд: Москва - Саратов, вагон 12 :)
На vepifanovCodeforces Beta Round #37 (Tutorial), 19 месяцев назад
0
This is solution of problem C from tutorial:
http://ideone.com/lHtSZ
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Тест №4:
20 1000 35
10 6
66 38
81 11
18 46
80 54
76 55
100 7
96 23
24 37
4 24
4 50
71 4
83 15
7 23
100 44
99 34
100 17
100 66
23 15
90 35

Ответ:
YES
7 7
0 18
1 15
2 20
3 5
4 6
5 2
6 4


На vepifanovCodeforces Beta Round #37 (Tutorial), 19 месяцев назад
+3
The proof is in short looks like this:

First, compress all vertices between which distance is equal to zero in one component (get graph of connected components).
Note that if we repaint some cell, it can be repainted and all its component, as a result coloring will not change.

1) we can prove that any coloring can be reduced to a form such that each subsequent repainting is a subset of the previous one.
2) the last repainting will consist of exactly one vertex (possibly the whole monochromatic connected region of the original board).

Therefore, one of the best answers will be of the form described in the review. If as the initial vertex, we take a cell, lying in the last repainting of the optimal sequence, the algorithm finds the solution not worse than optimal.
Прослушать
На латинице

На vepifanovCodeforces Beta Round #37 (Tutorial), 19 месяцев назад
0
Доказательство довольно громоздкое, но вкратце выглядит примерно так:

Сперва сожмем все вершины между которыми расстояние равно нулю в одну компоненту (получим граф компонент связности).
Заметим, что если мы перекрашиваем какую-то клетку, то можно перекрасить и всю её компоненту, так как в итоге раскраска не изменится.

1) можно доказать, что любую раскраску можно привести к такому виду, что каждое следующее перекрашивание будет подмножеством предыдущего.
2) последнее перекрашивание будет состоят ровно из одной вершины (возможно целая одноцветная связная область исходной доски).

Поэтому один из оптимальных ответов будет иметь вид описанный в разборе. Если в качестве начальной вершины мы возьмем клетку, лежащую в последнем перекрашивании этого оптимального ответа, алгоритм найдет решению не хуже чем оптимальное.
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
-3
My apologies ... in the problem D in one point there was a typo. Initially, the restrictions on X and Y were as follows: 0 <= Xi, Yi <= 100.
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
+1
Тест #4:
9 29
BWBBBBBBBBBWBWWBBBWBWBBBWWBWW
WBWBBWBBWBWWBWBBBWBWWWBWBBBBB
BWBBBBWWBBBWBWBBWWBBWBBBBBBBB
BBBWWBBWWBBBWBWBBBWWWWWWBBBBW
BBWWWWBBBBBBBBBWBBBBBBBBBBWBW
BBBWWBBBBWBBBWWBBBWBBBBWBBWBW
BBBBBWBWBBBWWBBWBBBBBBBBBBBBW
WWBBBWWBWBWBBBBWBBBBWWWBBBBBB
BWWBWBBBBBWBBWBBBBBBBWBWBBBWW

Ответ - 4
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
It is already available, if i'm not mistaken.
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
+3
Да, в С можно было неудачно выбрать алгоритм построения кодов, и в результате получить много много строк глючного кода :)
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Большой тест из почти 900 свитков, но в ответе их всего 2, и соответственно минимальное количество секунд также равно 2.
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Тест 15 - один из средних рандомных тестов:
31
12 7 5 30 8 17 6 8 0 6 0 15 9 11 9 11 0 1 8 8 4 39 17 2 5 2 1 9 39 4 13
19 18 13 35 27 29 14 23 0 16 0 18 9 37 48 49 0 23 50 9 32 47 39 45 24 13 19 16 50 37 14

Ответ - 59922858
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Тест 36, как ни странно, довольно тривиальный :)
3
1 1 2
Ответ - NO

На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Test #4:
20
6 7 7 7 7 6 7 7 7 7 7 7 7 7 7 7 7 7 6 7

Possible Answer:
YES
000000, 0000110, 0000111, 0001000, 0001001, 000001, 0001010
0001011, 0001100, 0001101, 0001110, 0001111, 0010000, 0010001
0010010, 0010011, 0010100, 0010101, 000010, 0010110



На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Test #3:
10 100 5
61 3
55 2
12 6
39 5
21 10
39 7
16 1
10 1
70 5
100 7

Possible answer:
YES
21 6
0 10
15 9
17 1
18 2
19 6
20 5
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Тест 86:
10 1000 8
100 1
100 1
100 1
100 1
100 1
100 1
100 1
100 1
100 1
100 1
Возожный ответ:
YES
509 10
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Довольно болшой рандомный тест из 70 свитков.
На vepifanovCodeforces Beta Round #37, 19 месяцев назад
0
Pretest #3:
10
4 4 4 4 4 4 4 4 4 4
Possible answer:
YES
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001


На vepifanovCodeforces Beta Round #37, 19 месяцев назад
+1
Тест номер 3:
10 100 5
61 3
55 2
12 6
39 5
21 10
39 7
16 1
10 1
70 5
100 7

Один из возможных ответов:
YES
21 6
0 10
15 9
17 1
18 2
19 6
20 5