![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Есть следующая задача:
Входные данные Дано число N (1 ≤ N ≤ 100000), а затем в одной или нескольких строках N натуральных чисел из диапазона от 1 до 100. Выходные данные Выведите в одной строке N чисел в неубывающем порядке. Есть ограничения: Лимит времени: 0.1 секунды Понятно, что сортировать тут ничего не нужно, так как в заданное время не уложиться, есть решение: Спойлер (Показать/Скрыть)
Но оно проходит всего-лишь 78.6% тестов, на остальных - превышение времени, максимальное время работы 0.109 секунды из 0.1 секунды, то есть превышение в 0.009с. От куда мне их взять ума не приложу ![]() ![]() Добавлено через 19 мин. вопрос решен, помогла замена iostream на stdio.h ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
(старожил форума, многое знает):
> [код с вылизанным алгоритмом] (новичок, только начал учиться программировать): > В С не разбираюсь, но наверное ты пузырьковой сортируешь. > почитай тут > Методы сортировок Мне кажется, это надо добавить в перлы форума. Добавлено через 16 мин. Ещё из методов сортировок могу предложить такой метод. Он вообще для массива строк предназначен, но работает для массива чего угодно, так как что угодно можно представить строкой (например, 32-битное число - это строка из 4 символов, 80-битное вещественное - строка из 10 символов). Просто загоняем все строки в префиксное дерево. А потом обходим это дерево и выводим в новый массив. Если надо, чтобы массив умел повторяющиемся строки не выбрасывать, то в вершинах префиксного дерева храним число раз, сколько строка встретилась в массиве. Время пропорционально суммарной длине строк в массиве. То есть для массива вещественных чисел время будет теоретически линейное. На практике - не знаю, выделение памяти для вершин дерева и недружелюбный к кешу обход этого дерева сильно всё портят. Кто-то сравнивал поразрядную сортировку и кусорт, так вот поразрядная обгоняла кусорт только на какой-то совсем дикой длине массива, за миллиард. -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 14:29 |