Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.09;
Скачать: CL | DM;

Вниз

Задача с областной олимпиады.   Найти похожие ветки 

 
VAD*Anti Gopn!k ©   (2008-01-30 14:31) [0]

Задача:
"на числовой прямой задано n точек. Необходимо найти среди них две ближайшие. Значения координат x[i] не превосходят 10^9 по абсолютной величине.

Ограничения: время работы 2 с, размер памяти 64 мб.

Задачу решил, но не уложился по времени на некоторых тестах.
Подскажите оптимальный алгоритм. Думал-думал не надумал. Может, есть какие эффективные методы сортировки.


 
oldman ©   (2008-01-30 14:33) [1]


> на числовой прямой задано n точек


1. Вразброс или упорядочено?
2. Чем задано?


 
VAD*Anti Gopn!k ©   (2008-01-30 14:40) [2]

1. разбросано.
2. числами.  Например:
3 5 4 7 0 1 14


 
Jeer ©   (2008-01-30 14:42) [3]

Если уже упорядочены, то:
Задача сводится к дискретному дифференцированию ( по простому - нахождение разностей между соседними двумя) и поиском максимума.
Как понимаю, линейная сложность.


 
Jeer ©   (2008-01-30 14:43) [4]

Если не упорядочены - сортировка, затем, как описано.


 
clickmaker ©   (2008-01-30 14:43) [5]


> Может, есть какие эффективные методы сортировки

а ты какой использовал?


 
VAD*Anti Gopn!k ©   (2008-01-30 14:49) [6]


> Jeer ©   (30.01.08 14:43) [4]

Хе хе. В том то и фишка. Например, если сортировать методом пузырька то будет цикл до 10^9.l Пустой такой цикл работает 2.5 мин. а мне нужно 2 сек.


> clickmaker ©   (30.01.08 14:43) [5]

а я без сортировки обошелся. Тупо перебор. Фактически алгоритм цикла до 10^9, но нормально работает при не таких больших числах.


 
Palladin ©   (2008-01-30 14:54) [7]


> а я без сортировки обошелся. Тупо перебор.

как же"ш ты на олимпиаду то областную попал...


 
VAD*Anti Gopn!k ©   (2008-01-30 14:56) [8]


> Palladin ©   (30.01.08 14:54) [7]

Видать, и вы по другому не сможете решить. Сможете-буду очень благодарен. Она же не одна задача там...


 
Jeer ©   (2008-01-30 15:03) [9]


> VAD*Anti Gopn!k ©   (30.01.08 14:49) [6]


Навскидку:
- пузырек
- Шелла
- Простые вставки
- Бинарные вставки
- Поиск минимума ( максимума)
- Пирамидальная
- Выбором
- Quick

В качестве домашнего задания - разобраться с каждой


 
Riply ©   (2008-01-30 15:05) [10]

> Ограничения: время работы 2 с

Объясните пожалуйста, что это за ограничение ?

Или я чего-то не понимаю, или это бред сивой кобылы :)
Единственный случай, когда оно имеет смысл, если оно отведено на написание алгоритма. :)


 
VAD*Anti Gopn!k ©   (2008-01-30 15:05) [11]


> Jeer ©   (30.01.08 15:03) [9]

Всех не знаю, НО

- пузырек
- Поиск минимума ( максимума)

отпадает ввиду вложенных циклов


 
Jeer ©   (2008-01-30 15:10) [12]


> если оно отведено на написание алгоритма. :)


Именно:)


 
atruhin ©   (2008-01-30 15:49) [13]

Может я чего не понимаю, но из условия задачи непонятно:
1. чему равно n, т.е. сколько точек.
2. время работы 2 с, на каком процессоре, Intel 386 или современный 4x ядерник.


 
Denis__ ©   (2008-01-30 15:51) [14]


> Задача:
> "на числовой прямой задано n точек. Необходимо найти среди
> них две ближайшие. Значения координат x[i] не превосходят
> 10^9 по абсолютной величине.


> Задача с областной олимпиады.

Возникает вопрос : В какой стране? Не верю, что в России! НЕ ВЕРЮ что областная олимпиада! У нас(Казахстан) задачи на уровне города такие, что прежде чем решать мы сидим обычно минут по 40. А потом уже - кодить. А если посмотреть примеры в Инете, то вообще...


 
atruhin ©   (2008-01-30 15:54) [15]

В догонку:
>>размер памяти 64 мб.
Размер какой памяти? Размер физической памяти компьютера, размер памяти занимаемой программой,
размер динамически запрашиваемой памяти.


 
Kerk ©   (2008-01-30 15:59) [16]


> Denis__ ©   (30.01.08 15:51) [14]

Я когда на всероссийской был, там была пара задач, которые решит любой. Практически официально заявлялось, что оно надо, чтоб не травмировать психику аутсайдерам :)


 
Denis__ ©   (2008-01-30 15:59) [17]


> размер памяти занимаемой программой,
> размер динамически запрашиваемой памяти.

по-моему вместе. Могу путать.

> > Ограничения: время работы 2 с
>
> Объясните пожалуйста, что это за ограничение ?

Да-да! Время раьоты программы!
for i:=0 to 1000000000 do
begin
    for j:=0 to 1000000000 do
     ...
end;

:D


 
Denis__ ©   (2008-01-30 16:02) [18]


> Я когда на всероссийской был, там была пара задач, которые
> решит любой. Практически официально заявлялось, что оно
> надо, чтоб не травмировать психику аутсайдерам :)

Ну, на Всероссах я не был:) но задачи оттуда видел. Страшно, если честно.


 
Anatoly Podgoretsky ©   (2008-01-30 16:03) [19]

> VAD*Anti Gopn!k  (30.01.2008 14:31:00)  [0]

Возьми компьютер по быстрее.


 
Anatoly Podgoretsky ©   (2008-01-30 16:04) [20]

> Palladin  (30.01.2008 14:54:07)  [7]

Стреляли


 
Denis__ ©   (2008-01-30 16:04) [21]

Автобусный диспетчер (XIV Всероссийская олимпиада по информатике)

На кольцевом маршруте №54 протяженностью S, проходящем мимо пансионата "Энергетик", работает N автобусов. Автобусы пронумерованы числами от 1 до N в порядке их следования по маршруту. Автобус с номером 1 движется за автобусом с номером N. Расписание составлено таким образом, что автобусы движутся с одинаковой скоростью V0 и с равными интервалами между ними. Движение автобусов контролирует диспетчер.
В 12 часов дня некоторые K автобусов одновременно снимаются с маршрута и отправляются на обед. Для восстановления равенства интервалов между автобусами, продолжающими движение по маршруту, потребуется некоторое время Т и, возможно, изменение скорости некоторых автобусов по команде диспетчера. В течение этого времени автобусы должны двигаться с постоянными скоростями из интервала [Vmin, Vmax], назначенными диспетчером. Изменение скорости движения автобуса происходит мгновенно. По истечении времени Т автобусы возобновляют движение по маршруту со скоростью V0.
Требуется написать программу для автоматического диспетчера, которая вычисляет минимальное время Tmin, за которое интервалы движения между оставшимися автобусами станут равными, и скорости движения каждого из них в течение этого времени.

Входные данные
Входной файл bus.in содержит две строки.
В первой строке находятся натуральные числа N, К, S, Vmin, Vmax и V0, где K < N <= 10000, S <= 10000, Vmin < Vmax <= 10000, Vmin <= V0 <= Vmax.
Во второй строке расположены в порядке возрастания K чисел - номера автобусов, снятых с маршрута. Все данные в строках разделены пробелами.

Выходные данные
В первой строке выходного файла bus.out должно находиться значение Tmin.
В каждой из последующих N - K строк должны быть по два разделенных пробелом числа - номер автобуса на маршруте и скорость его движения в течение времени Tmin. Номера автобусов упорядочить по возрастанию. Значения Tmin и скоростей выводить с точностью до 4-х значащих цифр после десятичной точки.

Пример 1
Входной файл bus.in
4 1 60 21 70 60
3
Выходной файл bus.out
0.2041
1 45.5
2 21
4 70

Пример 2
Входной файл bus.in
4 2 40 30 80 50
2 4
Выходной файл bus.out
0
1 50
3 50


 
clickmaker ©   (2008-01-30 16:05) [22]


> Да-да! Время раьоты программы!
> for i:=0 to 1000000000 do
> begin
>     for j:=0 to 1000000000 do
>      ...
> end;

на собеседованиях-тестах такие дают иногда.
дано: проц 1 ГГц, считать, что он весь отдан одному процессу, подсчитать, сколько будет выполняться N сложений/умножений и пр.


 
atruhin ©   (2008-01-30 16:52) [23]

> на собеседованиях-тестах такие дают иногда.
> дано: проц 1 ГГц,

Только у автора в вопросе процессор как раз не указан.


 
Правильный_Вася   (2008-01-30 16:56) [24]


> Необходимо найти среди них две ближайшие

ближайшие к чему?
к началу координат? к друг другу?


 
clickmaker ©   (2008-01-30 16:59) [25]


>  у автора в вопросе процессор как раз не указан

а там обратная задача: на каком процессоре данный цикл будет выполняться 2 сек? )


 
имя   (2008-01-30 19:01) [26]

Удалено модератором


 
Lip   (2008-01-30 19:21) [27]


> В догонку:>>размер памяти 64 мб.Размер какой памяти? Размер
> физической памяти компьютера, размер памяти занимаемой программой,
>  размер динамически запрашиваемой памяти.


Вы видимо никогда не участвовали в школьных олимпиадах.
Естественно это размер памяти занимаемой программой в оперативной памяти.

> Denis__ ©   (30.01.08 16:04) [21]
> Автобусный диспетчер (XIV Всероссийская олимпиада по информатике)


Ну и какой смысл выкладывать сюда задачу с Всероссийской олимпиады? Ясно же что никто решать не будет  да и не решит.


> Возникает вопрос : В какой стране? Не верю, что в России!
>  НЕ ВЕРЮ что областная олимпиада! У нас(Казахстан) задачи
> на уровне города такие, что прежде чем решать мы сидим обычно
> минут по 40


Что это ты не веришь? Учитывай, что есть провинциальные городки, в которых задачи соответствующие и есть такой город как Москва,
где чтобы дойти до этапа городской олимпиады нужно пройти ещё несколько этапов.


> Riply ©   (30.01.08 15:05) [10]
> > Ограничения: время работы 2 сОбъясните пожалуйста, что
> это за ограничение ?


А это вы спросите у составителей задач.
И вообще, имхо, ориентироваться на 2 сек. особо не стоит. Просто нужно стараться решать задачу оптимальным алгоритмом.

ТАк что delphi это одно, а олимпиадные задачи совсем другое!


 
VAD*Anti Gopn!k ©   (2008-01-30 19:51) [28]

2 all

Я так понял что никто не может найти решение. Как и я. Поэтому, я написал тупой алгоритм для того, чтобы получить несколько лишних балов. То есть присерно 50 из 100 возможных. И я думаю, что каждый и вас поступил бы также. Это лишь 1 тур, завтра второй. Вот на нем уже будут задачки с рекурсией, я это люблю :) Ну ладно, спасибо всем за попытки помощи.


 
VAD*Anti Gopn!k ©   (2008-01-30 19:59) [29]

VAD*Anti Gopn!k ©   (30.01.08 19:51) [28]
приМерно 50... конечно


 
Lip   (2008-01-30 21:05) [30]


> Я так понял что никто не может найти решение. Как и я. Поэтому,
>  я написал тупой алгоритм для того, чтобы получить несколько
> лишних балов. То есть присерно 50 из 100 возможных. И я
> думаю, что каждый и вас поступил бы также. Это лишь 1 тур,
>  завтра второй. Вот на нем уже будут задачки с рекурсией,
>  я это люблю :) Ну ладно, спасибо всем за попытки помощи.
>


Чел, не советую тебе здесь задавать вопросы связанные с олимпиадным программированием. Тут такое понятие как ACM малоизвестно.

По поводу задачи.
Я бы сначала отсоритровал координаты сортировкой с логарифмической сложностью. А потом бы прошелся по массиву сравнивая 2 соседних элемента.
Получается n*log(n) + n, против N^2. Всяк лучше!


 
Kerk ©   (2008-01-30 21:13) [31]


> Lip   (30.01.08 21:05) [30]
> Чел, не советую тебе здесь задавать вопросы связанные с
> олимпиадным программированием. Тут такое понятие как ACM
> малоизвестно.

Ты откуда такой умный взялся? :)


 
korneley ©   (2008-01-30 21:27) [32]


> Lip   (30.01.08 21:05) [30]
> не советую тебе здесь задавать вопросы связанные с олимпиадным  
> программированием. Тут такое понятие как ACM малоизвестно

Забавный парень... :) Знает, как пользоваться "сортировкой с логарифмической сложностью" и, наверное, "AСM" (Anti Coding Method)


 
Lip   (2008-01-30 21:32) [33]


> такой умный

спасибо! :)


> Забавный парень...


Спасибо :)


> Знает, как пользоваться

Пользоваться и понимать разные вещи :)
Ещё я знаю про сортировку пузырьком, которую тут путают с сортировкой вставками :)


 
Kerk ©   (2008-01-30 21:34) [34]

Ясно, очередной школьник. Сам таким был :)


 
korneley ©   (2008-01-30 21:43) [35]


> Lip   (30.01.08 21:32) [33]

Вообще-то на вопрос Jeer ответил, еще в [3] и [4] (с учетом того, что сортировкой до этого и не пахло, см. [6])... И, да пребудет с тобой ACM (Absolute Checking Matrix)!!!


 
Lip   (2008-01-30 21:46) [36]


> Ясно, очередной школьник. Сам таким был :)


Нее.. надо было сказать что типа в детский сад интернет провели, как вы это любите :) А.. что хорошие шутки, с такими только в камеди клаб :)


 
Kerk ©   (2008-01-30 21:48) [37]


> Lip   (30.01.08 21:46) [36]

Ответ на вопрос автора в самом начале ветки. А вот ты ничего полезного ему не сообщил, зато умные слова знаешь ;)


 
Рамиль ©   (2008-01-30 21:49) [38]


> Lip   (30.01.08 21:46) [36]

Пароль на Navity давай, потом буш тут учить, кто может, а кто не может.


 
Lip   (2008-01-30 21:51) [39]


> Вообще-то на вопрос Jeer ответил, еще в [3] и [4] (с учетом
> того, что сортировкой до этого и не пахло, см. [6])... И,
>  да пребудет с тобой ACM (Absolute Checking Matrix)!!!


Честно говоря не обратил внимания на эти пункты =)


 
ketmar ©   (2008-01-30 21:56) [40]

>[22] clickmaker ©(30.01.08 16:05)
это ж где такой идиотизм спрашивают-то? O_o


 
ketmar ©   (2008-01-30 21:56) [41]

>[39] Lip (30.01.08 21:51)
шо, нет времени читать, декомпилятор никак не запускается?


 
Lip   (2008-01-30 22:02) [42]


> шо, нет времени читать, декомпилятор никак не запускается?


Времени нет. Да и зачем его собственно тратить на чтение здесь постов?
Что-то новое узнаю?? =)

Ну и тут рекламу своего декомпилятора суете.
Все давно поняли что это геморный вирус. Да и веток давно тех нету.


 
korneley ©   (2008-01-30 22:05) [43]


> Lip   (30.01.08 21:51) [39]
>  !!Честно говоря не обратил внимания на эти пункты =)

Ну, дык, тщательнЕе надо читать, о, поклонник Abstract Community of Machines


 
Kerk ©   (2008-01-30 22:09) [44]


> korneley ©   (30.01.08 22:05) [43]

Имхо, это Abstract Communists-Machines


 
korneley ©   (2008-01-30 22:13) [45]


> Lip   (30.01.08 22:02) [42]
>Ну и тут рекламу своего  декомпилятора суете.

:))) ketmar = ZoldBerger!!! Ржунимагу (простите за албанцкий). Действительно, постов не читаем, но с выводами не церемонимся...


 
Lip   (2008-01-30 22:15) [46]

прикольно вы умеете слова подбирать для трех букв. Талант!


 
korneley ©   (2008-01-30 22:28) [47]


> Lip   (30.01.08 22:15) [46]

При чем здесь кто-то другой, кроме тебя? [30] - твоё произведение, вот и предположения, что бы это могло значить. Продолжай исследовать Analog Compiler Means


 
Lip ©   (2008-01-30 22:39) [48]


> При чем здесь кто-то другой, кроме тебя? [30] - твоё произведение,
>  вот и предположения, что бы это могло значить. Продолжай
> исследовать Analog Compiler Means


емоее... да вы действильно в танке.
Вы гуглом пользуетесь или только посылаете всех туда?

ACM - Association for Computing Machinery =)

откройте браузер и введите www.google.ru, только без ошибок и введите "ACM" и нажмите "найти". Потом кликните по 2 ссылке


 
ketmar ©   (2008-01-30 22:55) [49]

>[42] Lip (30.01.08 22:02)
тебя вообще желательно изолировать от интернета. интернет разрушает неокрепший детский разум.


 
ferr   (2008-01-30 22:57) [50]

Лично смотрел как решения этих оболдуев тестировались. =)

Компьютер был этак мегагерц 600, что огаваривается в условии.

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


 
korneley ©   (2008-01-30 23:03) [51]

Напомню [30]:

> ...Тут такое понятие как ACM малоизвестно...

Вот я занялсЯ исследованием неизвестных мне тайных смыслов аббревиатуры. В контексте поста.


 
korneley ©   (2008-01-30 23:05) [52]

Мои и (Керка), смыслы, нравятся больше. Опять же в контексте... :)


 
Lip ©   (2008-01-30 23:07) [53]


> разрушает неокрепший детский разум.


У вас какие-то комплексы по поводу возраста.
Может вы стареете?


 
Lip ©   (2008-01-30 23:10) [54]


> Вот я занялсЯ исследованием неизвестных мне тайных смыслов
> аббревиатуры.


Я же вроде объяснил про гугль =) Какой шаг не понятен?


 
ketmar ©   (2008-01-30 23:13) [55]

>[53] Lip ©(30.01.08 23:07)
да всего лишь детей жалко. а ещё жальче уборщиц: у дитя моск взорвётся — и всё. а уборщицам потом стены и пол отдраивать…


 
Lip ©   (2008-01-30 23:16) [56]


> да всего лишь детей жалко. а ещё жальче уборщиц: у дитя
> моск взорвётся — и всё. а уборщицам потом стены и пол отдраивать…


Поразили...
Я был лучшего мнения о вашем уровне интеллекта...


 
ketmar ©   (2008-01-30 23:20) [57]

>[56] Lip ©(30.01.08 23:16)
ужас. вот теперь опять буду спать плохо, всё думать: что бы такого сделать, чтобы вернуть себе уважение Lip"а. а то без этого мне девушки не улыбаются и пиво в магазинах продают втридорога.


 
korneley ©   (2008-01-30 23:21) [58]


> Lip ©   (30.01.08 23:10) [54]
> Я же вроде объяснил про гугль =) Какой шаг не понятен?

 Непонятно зачем Google, если умеем буквы складывать в слова, а не читать.


 
Lip ©   (2008-01-30 23:41) [59]


> ужас. вот теперь опять буду спать плохо, всё думать: что
> бы такого сделать, чтобы вернуть себе уважение Lip"а. а
> то без этого мне девушки не улыбаются и пиво в магазинах
> продают втридорога.


Тебе девушки на эране монитора улыбаются??? :)



Страницы: 1 2 вся ветка

Текущий архив: 2008.03.09;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.017 c
15-1202128056
nikfel
2008-02-04 15:27
2008.03.09
Что вы думаете о программе


4-1182533535
Dio
2007-06-22 21:32
2008.03.09
RS-232 состояние RTS, DTR


15-1201856014
GRAND25
2008-02-01 11:53
2008.03.09
Динамо - обладатель Кубка Первого Канала!


2-1202478430
leonidus
2008-02-08 16:47
2008.03.09
Как отобразить процесс загрузки базы


15-1201581217
vajo
2008-01-29 07:33
2008.03.09
Календарь-органайзер