А лучше кучу сам пиши В этом будут только плюсы.
52 2010-06-06 19:33:53
Тема: Не хватает завершающей части задачи. (1 ответов, оставленных в Problems)
В общем задача такая:
Есть дерево,в вершинах есть уровень радиации,который может меняться на протяжении работы программы.Но один раз мы можем использовать защиту,то есть в одной из вершин можно надеть костюм и не облучиться.Поступаю запросы на суммарный уровень радиации по пути/изменение уровня радиации в какой-то вершине.
Я планирую написать на неё дерево отрезков для макса+дерево отрезков для суммы(или фенвика).Тогда очевидно что ответ для запроса (u,v) будет ans=sum(u,v)-max(u,v).Осталось научиться определять отрезок (u`,v`),где и искать макс/сум. Собственно в этом я и прошу вас помочь
53 2010-05-08 19:23:13
Re: Хэш на строках (8 ответов, оставленных в Algo)
Почему отрицательные это я знаю.Но ведь h[j]-h[i-1] может быть меньше 0.А вот h(s1)*p^I, где s1-искомая строка-всегда больше 0.
54 2010-05-08 18:07:31
Re: Хэш на строках (8 ответов, оставленных в Algo)
epic fail...
Возникла проблема в реализации.. .Когда вычисляю h(i..j) это значение иногда бывает отрицательное(понятно по какой причине).Перечитывал статью,но ошибку в самом алгоритме не нашёл.Но в коде,несмотря на то, что я ничего не понимаю в с++, меня насторожила запись в коде: "{
h(i) = (t(i) - 'a' + 1) * p_pow(i);
if (i) h(i) += h(i-1);
}
"
что означает if (i)?и как избежать искажений из-за вычислений по модулю?
55 2010-05-08 16:26:25
Re: Хэш на строках (8 ответов, оставленных в Algo)
Ну да, двухуровневый хэш при поиске подстроки лишь немного увеличит константу,но на словарных задачах его довольно сложно реализовать используя О(n) памяти.Зато ответ на запрос за О(1).
Кстати кто-нибудь реализовывал его используя О(n) памяти?
56 2010-05-08 14:30:07
Re: Хэш на строках (8 ответов, оставленных в Algo)
Хммм..
Например при поиске вхождений строки s1 в s мы найдём хэш-функции от всех префиксов строки s и от самой s1.А потом при поиске проверяем чтобы h(s1)*P^(i-1)=h(j)-h(i).
Так ведь?
57 2010-05-07 20:31:00
Тема: Хэш на строках (8 ответов, оставленных в Algo)
http://e-maxx.ru/algo/string_hashes
У меня есть пара вопросов по этой статье:
1.Почему данная хэш-функция не вызывает коллизий?
2.Не совсем понятно как найти хэш-функцию от подстроки.Может это для кого-то и очевидно,но у меня возникли проблемы с пониманием этого этапа.
Буду благодарен за любую помощь.
58 2010-05-06 19:59:29
Re: Наименьший общий предок (как задать граф?) (11 ответов, оставленных в Algo)
Я как паскальщик на код даже не смотрю=)Может это и к лучшему..:)
59 2010-04-28 18:36:00
Re: Конспекты моих лекций (6 ответов, оставленных в Feedback)
Да, конечно!Особенно было бы интересно если лекции подкреплялись соответствующими задачами на те же темы
60 2010-04-28 18:33:25
Re: сложная задача (3 ответов, оставленных в Problems)
оО
Хорошая идея=)
Я думаю что это правильно из-за того,что вершины которые а МОДе будут соединены будут "соседями" либо по х,либо по у,либо z.Даже если в одной из сортировок мы выбрали не "правильное" ребро между вершинами u и v ,то одна из вершин которая будет лежать на отрезке num1 и num2(номерами u и v) в других сортировках станет промежуточной в МОДе между u и v(но никакая другая!!!(только между нум1 и нум2!!!)).
Это правильно?
61 2010-04-19 20:26:28
Re: Регулярные контесты. (12 ответов, оставленных в Feedback)
Кстати,я зарегистрировался на топкодер,но потом с ужасом узнал,что там на С писать нужно
:-/
62 2010-04-19 20:24:30
Re: http://www.spoj.pl/problems/ASSIGN4/ (2 ответов, оставленных в Problems)
По-моему тебе нужно это.
http://e-maxx.ru/algo/vertex_weighted_matching
но ,возможно,я ошибаюсь)
63 2010-04-18 15:48:40
Re: Регулярные контесты. (12 ответов, оставленных в Feedback)
Спасибо!На кодфорсес я уже участвую,неплохой сайт .
А на топкодере нужен очень высокий уровень знаний?
64 2010-04-18 12:05:02
Тема: Регулярные контесты. (12 ответов, оставленных в Feedback)
Если кто знает сайты,где регулярно проводятся онлайн-контесты,то напишите их адреса ,если не сложно
65 2010-04-17 21:54:06
Re: Longest Path (5 ответов, оставленных в Problems)
омг...
Сказано было что для неориентированного дерева сложнее чем для орграфа.
Я не говорил что могут быть циклы и т.п.
Существует решение за О(n) и для такого графа.Но для него реализация сложнее(что я и сказал)
66 2010-04-17 17:38:31
Re: Longest Path (5 ответов, оставленных в Problems)
В орграфе намного проще.
А в неориентрированом сложнее....
67 2010-04-05 12:55:31
Re: Union в DSU... (12 ответов, оставленных в Problems)
Только-что тестировал задачу.В которой не использовал вторую эвристику,и она проиграла по времени задаче с эвристикой в среднем 30%-50%!!!!Но всёравно не понятно почему...В Кормене как-то всё не размыто^^
68 2010-04-05 12:48:45
Re: Union в DSU... (12 ответов, оставленных в Problems)
Я снова в заблуждении
Вот 2 моих варианта ЮНИОНа:
1:
a:=findset(x);
b:=findset(y);
dsu[a]:=b;
2:
a:=findset(x);
b:=findset(y);
if random(2)=1 then swap(a,b);
dsu[a]:=b;
Я не понимаю в чём первый вариант проигрывает второму?(оО)
69 2010-04-04 18:27:46
Re: Union в DSU... (12 ответов, оставленных в Problems)
Согласен
Мне кажется, что при двухпроходном файндсэте нужда в какой-либо эвристике в юнионе уже пропадает, так ведь?
70 2010-03-31 20:03:47
Тема: Union в DSU... (12 ответов, оставленных в Problems)
В чём эвристики в процедуре Юнион в ДСУ?Я пробовал сдавать задачи ,например для МОД,не используя данной эвристики,и результат не менялся.
Хотелось бы чтобы кто-то кто знает рассказал и мне
71 2010-03-20 10:37:31
Re: Импульсные сигналы (3 ответов, оставленных в Problems)
Возможно,но я учитывал реализацию связным списком рёбер,то есть ребро (u,v) будет рассмотрено как (u,v) так и (v,u)
72 2010-03-14 22:20:16
Re: Текстовый редактор (2 ответов, оставленных в Problems)
Я не очень силён в строках,но для таких ограничений можно взять массив логического типа где b(i)=true,если символ s(i)-выделен.И по окончанию поиска подстроки считаем количество b(i)=true для всех i(1..length(s)).Ну а сам поиск лучше реализовать через КМП.
73 2010-03-14 22:12:59
Re: Импульсные сигналы (3 ответов, оставленных в Problems)
Я бы пустил обход в глубину и нашёл бы рассояние от 1 до всех остальных вершин.Потом рассматриваем каждую вершину и её ребра.При рассмотрении ребра u-v к внутреннему счётчику count(u) добавляем (t-dist[v]+1),то есть количество импульсов,которые пустит вершина v в вершину u с момента её включения.
74 2010-03-14 22:00:42
Re: закраска прямой (3 ответов, оставленных в Algo)
Вот ссылка на раздел где есть теория и сами задачи на структуры данных и на дерево отрезков в том числе- http://informatics.mccme.ru/moodle/cour … .php?id=18
75 2010-03-13 18:10:33
Re: Геометрия (9 ответов, оставленных в Problems)
При более низких познаниях в геометрии можно провести перпендикуляр относительно луча через его начало,и смотреть чтобы точка лежала как на прямой,так и по одну сторону от перпендикуляра.А именно если A,B,C-коэффициенты перпендикуляра, side1=Ax2+By2+C,a side2=Axp+Byp+c,то side1*side2>0,тоесть знак у side1 и side2 одинаковый.