KBTU Open 2013 Spring
08 апр
21 апреля состоится очередное соревнование KBTU Open Spring 2013! Для участия необходимо зарегистрировать свою команду здесь:
http://acm.kbtu.kz/system/kbtuopen
В 10:30 рассадка по кабинетам в КБТУ, старт в 11:00. Вход в КБТУ со стор. ул. Абылай-хана. Регистрации утром не будет, пароль для входа в систему и номер кабинета будут отправлены на емейл, указанный при регистрации. Участники не из Алматы могут участвовать удаленно.
"+" xD
Дата: 2013-04-11 19:57
"Старт в 11:00" - это точно или начнется как обычно по-казахски в 12-13.00?) А то к шести утра вставать ой как не хочется =)
Дата: 2013-04-12 01:12
Вот когда КБТУ Опен начинался вовремя?)
Дата: 2013-04-12 21:25
Уже как-бы 11-05, контест сегодня начнется?
Дата: 2013-04-21 11:05
КБТУ и МУИТ, не поделитесь как решать задачу D?
Дата: 2013-04-21 20:41
Её писал не я. Но идея следующая. Поменяем местами, первую и последнюю строки нашей матрицы. Детерминант в конце домножим на -1. Вычисляем детерминант приведением матрицы к треугольному виду Гауссом до последней строки. Теперь мы знаем все строки в треугольном виде кроме последней. Но теперь мы знаем на какие значения придется изменить последнюю строку, если на какой то позиции в последней строке будет стоять 1ка. Значит переберем все значения , с помощью рюкзака. а Из всех достижимых выберем тот, умножение на который даст максимальный детерминант.
Дата: 2013-04-21 22:21
Мансур идею вкратце описал, перечислю нюансы. 1. На самом деле, я не менял местами первую и последнюю строку, а сдвигал все строки на единицу вверх (очевидно, для матрицы нечетного размера знак определителя остается тем же, а для матрицы четного размера - меняется на противоположный). Делал я это именно так чисто из эстетических соображений. 2. Для элементов последней строки я хранил вектор их разложения по начальным значениям элементов последней строки (прошу прощения за тавтологию). Рюкзак я строил по разложению элемента m[n - 1][n - 1] (0-индексация). 3. У меня имелся флаг bad. Если на какой-то итерации Гаусса при невыставленном флаге я не находил в текущем столбце ненулевой элемент, то я менял местами текущий столбец с последним столбцом, менял знак определителя, выставлял флаг и повторял текущую итерацию. Если же я не находил ненулевой элемент уже при выставленном флаге, то я сразу выводил 0. Делал я это все исключительно затем, чтобы не менять последнюю строку с другими.
Дата: 2013-04-23 00:14
Спасибо, с последними двумя комментариями идея решения более-менее ясна. Можно увидеть ваш код? В решении много мелочей, и проще всего, по-моему, разобраться в них непосредственно по коду.
Дата: 2013-04-23 00:34
Можно будет, когда Дамир Елиусизов скинет мне пароль: онсайт-участникам раздавали пароли на бумажках, а мы бумажку традиционно не забрали :).
Дата: 2013-04-23 00:42