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

Обсуждение задачи 1992. CVS

Copy on Write.
Послано Mahilewets 19 июл 2017 16:08
Я использовал для решения стратегию copy on write.
I have used copy on write strategy.

Когда я использовал scanf и printf,  я получал TLE#9.
When used scanf and prin
tf got TLE#9.

Когда заменил ввод на ввод через unlocked getchar и putchar,  то получил АС за менее чем  0.6 сек.
AC < 0.6 sec with _getchar_nolock and _putchar_nolock.

Ну и немного на русском про саму COW-стратегию.

Есть вектор реальных объектов клонов,  а есть вектор ссылок на эти объекты.

Новый объект в первом векторе создаётся не при клонировании,  а при попытке изменить реального клона,  на который есть больше одной ссылки.

Во втором же векторе новые объекты создаются, напротив,  только при клонировании.