Нахождение паросочетания можно ускорить до O(n^3) если использовать формулу Шермана-Моррисона (http://en.wikipedia.org/wiki/Sherman%E2 … on_formula)
1 2010-10-13 00:57:16
Re: Максимальное паросочетание в произвольном графе (3 ответов, оставленных в Algo)
2 2010-03-20 14:04:29
Re: timus 1557 (4 ответов, оставленных в Problems)
У этой задачи есть решение за O(V^2+E)
3 2010-02-07 00:15:24
Re: Поиск радиуса графа. (23 ответов, оставленных в Problems)
Не стоит пока ее обсуждать, см. http://www.e-olimp.com/competitions/136 (задача O)
4 2010-01-29 01:50:55
Re: Сортировка по углам (5 ответов, оставленных в Problems)
Это как раз и получится векторное произведение)
5 2010-01-28 23:14:21
Re: Сортировка по углам (5 ответов, оставленных в Problems)
Если сортировать по arctan(x/y), легко получить проблемы с точностью, т.к. arctan - очень неточная штука, особенно при y->0. acrtan2(y, x) чуть лучше, но на многих задачах все равно не поможет. Гораздо лучше сортировать компаратором на основе векторного произведения. Для начала надо проверить, что вектора a и b находятся в одной полуплоскости. Если это не так, то их легко между собой сравнить. Иначе же считают что a < b если [a x b] > 0. Такой компаратор сравнивает вектора в целых числах и принципиально не может иметь проблем с точностью
6 2010-01-14 23:41:39
Re: вопрос расширенный алгоритм евклида (6 ответов, оставленных в Algo)
В java есть реализованный алгоритм Евклида для BigInteger - метод gcd. Он в данном случае будет намного эффективнее обычного, т.к. там реализован двоичный алгоритм Евклида, работающий быстрее обычного в размерность чисел раз быстрее
7 2009-10-28 22:34:04
Re: Подматрица с максимальной суммой (4 ответов, оставленных в Algo)
Можно за O(n^2*log(n)), если в ней n ненулевых элементов, с помощью веселого дерева отрезков
8 2009-10-19 20:44:42
Re: Динамика по профилю. Задача "паркет" (13 ответов, оставленных в Algo)
Статья: http://alexandria.tue.nl/repository/fre … 597563.pdf
Собственно алгоритм:
1) ориентируем граф так, чтобы у каждой грани было нечетное число ребер, ориентированных по часовой стрелке
2) берем знаковую матрицу смежности (она будет антисимметричной)
3) считаем пфаффиан (корень из определителя, http://en.wikipedia.org/wiki/Pfaffian) этой матрицы. Он и будет количеством паросочетаний
9 2009-10-14 01:25:42
Re: Динамика по профилю. Задача "паркет" (13 ответов, оставленных в Algo)
Вообще, есть общий полиномиальный алгоритм для подсчета количества паросочетаний в планарном графе, правда к этой зададаче он не подходит (сложность порядка O(n^3)*(сложность длинного умножения n-битных чисел), где n - количество вершин в графе)
10 2009-10-13 15:31:27
Re: Динамика по профилю. Задача "паркет" (13 ответов, оставленных в Algo)
Там не про O(M*N*M^2), а про O(M*N*2^M)
Тем не менее, количество замощений доминошками прямоугольника все же можно считать за полиномиальное время)
12 2009-09-25 23:43:22
Re: timus 1505 (1 ответов, оставленных в Problems)
Решение вроде правильное. Видимо баг в реализации
13 2009-09-25 19:51:09
Тема: timus 1144 (1 ответов, оставленных в Problems)
http://acm.timus.ru/problem.aspx?space=1&num=1144
Я пытаюсь решить эту задачу уже долгое время, но так и не смог преодолеть 2 тест(
14 2009-08-14 23:49:36
Re: ПО для ACM (10 ответов, оставленных в Offtopic)
Gentoo Linux
Eclipse, Emacs
JDK, GHC
15 2009-08-12 22:16:49
Re: Google Code Jam 2009 (12 ответов, оставленных в OlympNews)
Можно использовать любое железо, даже кластеры
Ну, на онсайте кластером особо не попользуешься
16 2009-07-17 09:26:36
Re: Поиск подстрок в строке (9 ответов, оставленных в Problems)
Точно, невнимательно прочитал(
17 2009-07-16 13:42:29
Re: Поиск подстрок в строке (9 ответов, оставленных в Problems)
18 2009-07-11 09:47:07
Re: Динамика + Выпуклая Оболочка (12 ответов, оставленных в Algo)
А на саму задачу ссылку можно?
19 2009-07-11 09:21:16
Re: Количество различных подстрок (6 ответов, оставленных в Problems)
Да, я хотел сказать по автомату)))
Как решать массивом не очень понятно
20 2009-07-11 07:15:48
Re: Количество различных подстрок (6 ответов, оставленных в Problems)
Динамикой по суффиксному дереву или суффиксному массиву.
21 2009-07-08 18:56:08
Re: Triangles (21 ответов, оставленных в Problems)
n^2 log n при n = 5000 выглядит малореалистично
22 2009-07-08 13:25:05
Re: Triangles (21 ответов, оставленных в Problems)
Прямоугольный и правильный треугольники - несколько разные понятия)
23 2009-07-08 09:32:42
Re: Быстрый поиск среднего элемента. (17 ответов, оставленных в Problems)
Эту задачу можно решать специальным деревом отрезков за O(n*log n) памяти и препроцессинга и O(log^3 n) на запрос.
Идея такая: в вершине дерева будем хранить соответствующий отрезок отсортированным. Тогда на каждый запрос надо найти разбиение запрашиваемого отрезка на не более O(log n) отрезков из дерева и найти ответ на запрос бинарным поиском (количество элементов менбших данного в отсортированном списке ищется еще одним бинарным поиском)
24 2009-07-06 23:06:43
Re: Triangles (21 ответов, оставленных в Problems)
Если точки целочисленны, можно их искать в хеш-таблице за O(1)