Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2007-01-04 20:29:47

FireTiger
Новий користувач
Звідки: Донецк
Зареєстрований: 2006-09-27
Повідомлень: 86

Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Здесь я предлагаю обсудить решение задачи Pencils

Если вы собрались написать сообщение в этой теме пожалуйста прочитайте следующие правила:
1. Постить только после окончания приёма решений. (без комментариев)
2. Постите код только если вас об этом попросили. (обилие кода делает тему нечитабельной)
3. Обсуждайте только задачу, которая указана в теме.

Надеюсь эти простые правила сделают обмен мнениями более плодотворным.

Відредаговано FireTiger (2007-01-04 20:38:26)


ICQ 339203772  - Если что-нибудь срочно необходимо - стучитесь, я отвечу! smile
----------------
Основная проблема с программистами заключается в том, что вы никогда не можете сказать, чем они занимаются, до тех пор, пока не будет слишком поздно.

Поза форумом

 

#2 2007-01-05 09:17:18

AlexeyS
Новий користувач
Зареєстрований: 2006-11-30
Повідомлень: 18

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

У кого какая сложность алгоритма в этой задаче?
Я пытался добиться O(N^2), но ничего лучше O(N^2*logN) не придумал.
Подкиньте идею, как можно было решить быстрее.

Поза форумом

 

#3 2007-01-05 09:23:44

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

O(N^2) - hashtable


icq - 402174

Поза форумом

 

#4 2007-01-05 09:25:43

AlexeyS
Новий користувач
Зареєстрований: 2006-11-30
Повідомлень: 18

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

xXx написав:

O(N^2) - hashtable

Намекни чуть-чуть конкретнее.

Поза форумом

 

#5 2007-01-05 09:33:41

alex_kasycky
Олімпієць
Зареєстрований: 2005-10-09
Повідомлень: 92

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

AlexeyS написав:

У кого какая сложность алгоритма в этой задаче?
Я пытался добиться O(N^2), но ничего лучше O(N^2*logN) не придумал.
Подкиньте идею, как можно было решить быстрее.

У меня  O(N^2*logN) сортировку можно переписать за линию - будет квадрат.


Этот аккаунт не работает... мой новый аккаунт - alexkasycky

Поза форумом

 

#6 2007-01-05 09:36:29

AlexeyS
Новий користувач
Зареєстрований: 2006-11-30
Повідомлень: 18

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

alex_kasycky написав:

AlexeyS написав:

У кого какая сложность алгоритма в этой задаче?
Я пытался добиться O(N^2), но ничего лучше O(N^2*logN) не придумал.
Подкиньте идею, как можно было решить быстрее.

У меня  O(N^2*logN) сортировку можно переписать за линию - будет квадрат.

Кас, ты же сам говорил, что сортировка за линию работает дольше, чем QuickSort wink

Поза форумом

 

#7 2007-01-05 09:36:33

guest1
Новий користувач
Зареєстрований: 2006-12-19
Повідомлень: 309
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Я делаю так: ищу карандаши, которые УЖЕ совмещаются параллельным переносом. Если таких нет, вывожу N. Если есть, тогда я накладываю эти карандаши друг на друга и смотрю, сколько карандашей накладываются (Z).
Просматриваю все пары, нахожу максимальное Z (число карандашей, которые накладываются при параллельном переносе).Потом вывожу разность N - Z.
Вот и все. Если кто заметил неточность - высказывайте свое мнение. smile

Поза форумом

 

#8 2007-01-05 09:39:52

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

чтоб определить кол. одинаковых элементов в массиве не обязательно его сортировать... smile
просто последовательно перебирая элементы нада добавлять их в хеш табл и считать кол....
блин.... тока что обнаружил что я пролетел по этой задаче.... моя хеш табл размером 1000 sad


icq - 402174

Поза форумом

 

#9 2007-01-05 09:41:01

alex_kasycky
Олімпієць
Зареєстрований: 2005-10-09
Повідомлень: 92

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

AlexeyS написав:

alex_kasycky написав:

AlexeyS написав:

У кого какая сложность алгоритма в этой задаче?
Я пытался добиться O(N^2), но ничего лучше O(N^2*logN) не придумал.
Подкиньте идею, как можно было решить быстрее.

У меня  O(N^2*logN) сортировку можно переписать за линию - будет квадрат.

Кас, ты же сам говорил, что сортировка за линию работает дольше, чем QuickSort wink

Во-первых не всегда, во-вторых мы сейчас о сложности алгоритма, а не о времени его работы.


Этот аккаунт не работает... мой новый аккаунт - alexkasycky

Поза форумом

 

#10 2007-01-05 09:42:06

AlexeyS
Новий користувач
Зареєстрований: 2006-11-30
Повідомлень: 18

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

guest1 написав:

Я делаю так: ищу карандаши, которые УЖЕ совмещаются параллельным переносом. Если таких нет, вывожу N. Если есть, тогда я накладываю эти карандаши друг на друга и смотрю, сколько карандашей накладываются (Z).
Просматриваю все пары, нахожу максимальное Z (число карандашей, которые накладываются при параллельном переносе).Потом вывожу разность N - Z.

Так сложность в этом алгоритме O(N^2*logN).
Вопрос, как можно было решить за O(N^2).

Поза форумом

 

#11 2007-01-05 09:44:12

alex_kasycky
Олімпієць
Зареєстрований: 2005-10-09
Повідомлень: 92

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

xXx написав:

O(N^2) - hashtable

Ну у тебя ведь амортизированый квадрат. Тоесть Омега а не О smile
Короче это врядли быстрей чем сортировка за линию.


Этот аккаунт не работает... мой новый аккаунт - alexkasycky

Поза форумом

 

#12 2007-01-05 09:44:31

guest1
Новий користувач
Зареєстрований: 2006-12-19
Повідомлень: 309
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Простите за безграмотность но что такое O(N^2)? и что такое O в частности?

Поза форумом

 

#13 2007-01-05 09:48:44

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

alex_kasycky написав:

xXx написав:

O(N^2) - hashtable

Ну у тебя ведь амортизированый квадрат. Тоесть Омега а не О smile
Короче это врядли быстрей чем сортировка за линию.

это будет быстрее, причём на порядок...
если так рассудать, то квиксорт работает медленнее чем сорт слиянием....

Відредаговано xXx (2007-01-05 09:49:39)


icq - 402174

Поза форумом

 

#14 2007-01-05 10:07:11

AlexeyS
Новий користувач
Зареєстрований: 2006-11-30
Повідомлень: 18

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

guest1 написав:

Простите за безграмотность но что такое O(N^2)? и что такое O в частности?

Так обозначается сложность алгоритма. По ней можно оценить скорость работы программы. Подробно про это написано, например, в книге: "Алгоритмы: построение и анализ" авторы Кормен, Томас и др.

Поза форумом

 

#15 2007-01-05 10:10:22

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

O(f(n)) = g(n) <=> lim(n->oo) f(n)/g(n) = const


icq - 402174

Поза форумом

 

#16 2007-01-05 10:26:10

FireTiger
Новий користувач
Звідки: Донецк
Зареєстрований: 2006-09-27
Повідомлень: 86

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

xXx написав:

O(N^2) - hashtable

+1

Только табличка у меня на 1000000... чисто на всякий случай smile


ICQ 339203772  - Если что-нибудь срочно необходимо - стучитесь, я отвечу! smile
----------------
Основная проблема с программистами заключается в том, что вы никогда не можете сказать, чем они занимаются, до тех пор, пока не будет слишком поздно.

Поза форумом

 

#17 2007-01-05 10:29:39

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

1000000 эт не на всякий случай эт ровно минимум для правильного решения.... smile


icq - 402174

Поза форумом

 

#18 2007-01-05 10:40:50

Yevgeniy
Новий користувач
Зареєстрований: 2006-10-14
Повідомлень: 67

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Да але на рішення задачі недостатньо одного масиву на 1000000. Для правильного рішення необхідно два масива????


"Математика -- цариця наук, арифметика -- цариця математики."
      Карл Фрідріх Гаусс (1777 - 1855) - КОРОЛЬ МАТЕМАТИКІВ.

Поза форумом

 

#19 2007-01-05 10:45:59

FireTiger
Новий користувач
Звідки: Донецк
Зареєстрований: 2006-09-27
Повідомлень: 86

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Yevgeniy написав:

Да але на рішення задачі недостатньо одного масиву на 1000000. Для правильного рішення необхідно два масива????

Зачем???


ICQ 339203772  - Если что-нибудь срочно необходимо - стучитесь, я отвечу! smile
----------------
Основная проблема с программистами заключается в том, что вы никогда не можете сказать, чем они занимаются, до тех пор, пока не будет слишком поздно.

Поза форумом

 

#20 2007-01-05 10:53:07

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

один для хеш-значений, другой для самих элементов.....


icq - 402174

Поза форумом

 

#21 2007-01-05 10:56:29

FireTiger
Новий користувач
Звідки: Донецк
Зареєстрований: 2006-09-27
Повідомлень: 86

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Ну не знаю... мож я чёт не так делал... ну да ладно... посмотрим по результатам.


ICQ 339203772  - Если что-нибудь срочно необходимо - стучитесь, я отвечу! smile
----------------
Основная проблема с программистами заключается в том, что вы никогда не можете сказать, чем они занимаются, до тех пор, пока не будет слишком поздно.

Поза форумом

 

#22 2007-01-05 11:05:17

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

покажи код... скажу результаты...smile))


icq - 402174

Поза форумом

 

#23 2007-01-05 11:42:41

Yevgeniy
Новий користувач
Зареєстрований: 2006-10-14
Повідомлень: 67

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

FireTiger написав:

Yevgeniy написав:

Да але на рішення задачі недостатньо одного масиву на 1000000. Для правильного рішення необхідно два масива????

Зачем???

Для знаходження схожих частин малюнків нам потрібно два знаження вираховувати: це dx i dy між кожною парою олівців, які можна сумістити при паралельному переносі. Далі потрібно знайти в цих масивах максимально можливу кількість елементів Z для яких dx[i] == dx[j] s i dy[i] == dy[j], i != j.І результат тоді N - Z


"Математика -- цариця наук, арифметика -- цариця математики."
      Карл Фрідріх Гаусс (1777 - 1855) - КОРОЛЬ МАТЕМАТИКІВ.

Поза форумом

 

#24 2007-01-05 11:45:09

guest1
Новий користувач
Зареєстрований: 2006-12-19
Повідомлень: 309
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Yevgeniy написав:

FireTiger написав:

Yevgeniy написав:

Да але на рішення задачі недостатньо одного масиву на 1000000. Для правильного рішення необхідно два масива????

Зачем???

Для знаходження схожих частин малюнків нам потрібно два знаження вираховувати: це dx i dy між кожною парою олівців, які можна сумістити при паралельному переносі. Далі потрібно знайти в цих масивах максимально можливу кількість елементів Z для яких dx[i] == dx[j] s i dy[i] == dy[j], i != j.І результат тоді N - Z

Ну, я так и делал ... big_smile

Поза форумом

 

#25 2007-01-05 12:00:44

xXx
Олімпієць
Звідки: Kirovsk-city
Зареєстрований: 2005-11-16
Повідомлень: 123
Вебсайт

Re: Обсуждение решения задачи Pencils (только после 23:59 04.01.07)

Yevgeniy написав:

FireTiger написав:

Yevgeniy написав:

Да але на рішення задачі недостатньо одного масиву на 1000000. Для правильного рішення необхідно два масива????

Зачем???

Для знаходження схожих частин малюнків нам потрібно два знаження вираховувати: це dx i dy між кожною парою олівців, які можна сумістити при паралельному переносі. Далі потрібно знайти в цих масивах максимально можливу кількість елементів Z для яких dx[i] == dx[j] s i dy[i] == dy[j], i != j.І результат тоді N - Z

логической связи не уловил.... как это относится к хеш-таблицам?
+ dx и dy можно хранить в одном масиве например dxy, dxy[i] = dx[i]|(dy[i]<<16)


icq - 402174

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt