
Denis
31.07.2016
21:16:21
https://ru.m.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8

Николай
31.07.2016
21:16:29
Реально чмом чувствую т.к. должно быть простое решение
Спасибо огромное. Гляну

Viktor
31.07.2016
21:17:07

Google

Denis
31.07.2016
21:17:12
Насколько я понимаю, там нет решения сильно проще перебора

Viktor
31.07.2016
21:17:33
вот тут вершинное покрытие вроде как {0, 1, 2, 4}
а в задаче про кольца было бы 1,2,4

Denis
31.07.2016
21:17:58
Неа

Viktor
31.07.2016
21:17:58
а стоп

Denis
31.07.2016
21:18:00
1, 3

Viktor
31.07.2016
21:18:00
туплю

Denis
31.07.2016
21:18:17
С независимым множеством путаешь

Viktor
31.07.2016
21:18:24
да да
это просто не минимальное

Denis
31.07.2016
21:19:25
Я вроде покрытие умею решать за 2^n * n

Viktor
31.07.2016
21:56:58
можете накидать примеров для проверки break rings?

Николай
31.07.2016
21:57:02
Нормального материала "для новичка" не смог найти в инете. Пока непонятно, хотя вроде как жадный алгоритм применял и он не подошёл. Наверное тупой вопрос, но что стоит почитать чтоб втянуться?

Google

Николай
31.07.2016
21:57:09
Ща
Блин. Я покидаю, но завтра утром

Viktor
31.07.2016
21:57:57
:(
а ты где их взял? там же
?

Николай
31.07.2016
21:58:25
Там встроенных штук 20
Показаны лишь 3 вроде

Viktor
31.07.2016
21:58:39
и как их увидеть?
хотя бы три

Николай
31.07.2016
21:59:09
Ну как. По той ссылке кликаешь и внизу справа solve it
Хотя мб для этого нужно зарегаться на том сайте

Viktor
31.07.2016
21:59:36
видимо да

Николай
31.07.2016
22:00:00
Если не пройдешь какой либо тест - сможешь его посмотреть
Только 1 минус - через тф не грузит. Только пк

Viktor
31.07.2016
22:00:24
:/

Николай
31.07.2016
22:00:44
Ага.
Ленивый алгоритм понял как работает?

Viktor
31.07.2016
22:01:37
в данной задаче?

Николай
31.07.2016
22:02:52
Вообще принцип. Везде где искал понял только что он перебором удаляет рёбра (по 2 вершины) и выдаёт минимум решения
Минимум вырезанных

Google

Viktor
31.07.2016
22:04:01
а зачем думать ребрами

Николай
31.07.2016
22:04:22
Жадный срывается, когда кольца выглядят примерно так:

Viktor
31.07.2016
22:04:43
бл, писал в repl.it, теперь TabError

Николай
31.07.2016
22:04:52
Ну по вершине вариант думаю, только долгий боюсь получится
Что за repl.it?

Denis
31.07.2016
22:05:25
Никакой жадный тут не заработает, если у них не паленые тесты

Николай
31.07.2016
22:05:53
Ну такой тест вроде последний
Его мой жадный алгоритм и не прошёл
Завтра попробую переписать через перебор. Других вариантов не вижу
Один минус - будет долгий до жопы

Denis
31.07.2016
22:07:12
Сколько там колец?

Николай
31.07.2016
22:07:16
Там и по 17 колец есть.

Denis
31.07.2016
22:07:23
Это мало

Николай
31.07.2016
22:07:27
Но по моему не больше

Denis
31.07.2016
22:07:29
За секунду успеет
Хотя может и нет
Это ж питон

Николай
31.07.2016
22:07:50
Вариантов получится 17! Вроде?

Denis
31.07.2016
22:07:56
C++ бы точно успел

Николай
31.07.2016
22:08:03
Ну ёпт)

Google

Denis
31.07.2016
22:08:08
Неа, можно быстрее

Николай
31.07.2016
22:08:26
Каким образом перебором и меньше?

Denis
31.07.2016
22:08:27
Можно сделать динамику по подмножествам

Николай
31.07.2016
22:08:40
Это как

Denis
31.07.2016
22:09:10
Храним маски из 0 и 1 - используем мы это кольцо или нет

Николай
31.07.2016
22:09:20
Матрица?

Denis
31.07.2016
22:09:21
Каждой маске соответствует ответ
Массив из 2^17 скорее

Admin
ERROR: S client not available

Denis
31.07.2016
22:09:53
И потом по очереди пытаемся добавлять

Николай
31.07.2016
22:10:20
Перебором разве не быстрее?

Denis
31.07.2016
22:10:35
Перебор это факториал, а тут экспонента

Николай
31.07.2016
22:11:39
Не очень понял как при этом учитывать рёбра
Я чё т туго соображаю. Не совсем понимаю твой алгоритм
Но экспонента явно лучше факториала

Denis
31.07.2016
22:13:18
Ща может в гугле найду

Николай
31.07.2016
22:13:35
Ок. Спасиб

Denis
31.07.2016
22:16:13
Вообще самый простой способ - перебираешь все маски и пробуешь каждую
То есть смотришь каждый вариант

Николай
31.07.2016
22:18:41
Я не совсем понял твой варик с масками. Каким образом они учитывают рёбра

Google

Denis
31.07.2016
22:19:31
Берешь какой-нибудь вариант и смотришь, верно ли, что для каждого ребра выбрана хотя бы одна вершина

Николай
31.07.2016
22:20:14
...
Ребро состоит из 2 вершин.
Моя непонимать

Denis
31.07.2016
22:20:43
Допустим, у тебя 10 вершин

Николай
31.07.2016
22:20:50
Да

Denis
31.07.2016
22:20:59
Предположим, что ответ (1, 2, 3, 5)

Николай
31.07.2016
22:21:11
Да

Denis
31.07.2016
22:21:33
Пройдемся по списку ребер и посмотрим, верно ли, что у каждого ребра хотя бы одна вершина есть в этом списке
Если у какого-то нет, звено осталось неразорванным и ответ не подходит

Николай
31.07.2016
22:23:18
В списке из эих 4х вершин?

Denis
31.07.2016
22:23:43
Да

Николай
31.07.2016
22:25:07
Правильно ли я понял - вместо перебора вариантов с их 17! Вариантами проще перебрать ответы с их меньшим кол-вом вариантов?

Denis
31.07.2016
22:25:17
Да

Николай
31.07.2016
22:25:29
?

Viktor
31.07.2016
22:25:47
хех, хитро

Denis
31.07.2016
22:25:48
Если перебрать все возможные варианты, будет 2^17

Николай
31.07.2016
22:25:55
Попробую завтра. Спасибо за идейку
Меньше

Denis
31.07.2016
22:26:18
Каждое либо берем, либо нет

Николай
31.07.2016
22:26:32
Можно по возрастанию. Сначала из 1, потом из 2х, после из 3х
И если находится какая либо
Эта группа больше не существует