ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1441. Из истории банка Гринготтс

Eler circuit
Послано svr 7 дек 2006 18:17
How do this faster?
1) Adding virtual edges to pairs of vertices with odd degree
2) Building Eler circuit in new graph.
3) Cutting circuit by virtual edges.
But Graph is undirected and when we removing edges
in classic stac algorithm we should use set-class as
dynamic Adj list for each vertex instead of vector-class
Re: Eler circuit
Послано Denis Koshman 13 авг 2008 04:55
How to do it even faster: add virtual edges between new virtual point and odd-degree nodes. Just O(N) overhead.
(AC in 0.046 sec)

Edited by author 13.08.2008 05:28
Re: Eler circuit
Послано Denis Koshman 13 авг 2008 05:05
As for bidirectionality - just add edges twice and maintain bidirectional indexation between them. Or add all edges to base-0 arraay in the order (v1;v2), (v2;v1), (v3;v4), (v4;v3), etc... then "x XOR 1" will be index of backwards edge.