|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
||||||
Найти в списке чисел заданный последовательный несортированный подсписок08.11.2015, 01:39. Показов 2749. Ответов 16
Метки нет (Все метки)
Условие
Условие: Ограничение по времени: 2 секунды Ограничение по памяти: 256 мегабайт Завтра у Дим Димыча день рождения, и Симка решила порадовать его подарком. Но под рукой ничего не оказалось, поэтому она решила подарить ему массив натуральных чисел. Чтобы Дим Димыч не обнаружил подарок раньше времени, Симка спрятала массив в системном блоке его компьютера. Однако как всегда прибежал Нолик и все испортил. Он перемешал все числа в массиве, и теперь он выглядит ужасно, на день рождения дарить его нельзя. К счастью, Нолик запомнил исходный массив и готов восстановить его, если Симка решит для него одну задачу. А именно, он хочет, чтобы она по данному набору чисел p нашла подотрезок q такой же длины в массиве-подарке, что p и q «практически совпадают». Два набора чисел практически совпадают, если в них можно переставить числа таким образом, чтобы они совпали точно. Например, наборы чисел [1, 2, 3] и [2, 3, 1] практически совпадают, а [1, 2, 3] и [2, 4, 3] — нет. Нолик написал на бумажке набор чисел p и теперь просит вас решить придуманную им задачу. Помогите Симке восстановить подарок Дим Димыча на день рождения! Формат входных данных В первой строке входного файла содержится единственное число n (1 ⩽ n ⩽ 100000) — количество чисел в наборе p. Во второй строке содержится n целых чисел pi (1 ⩽ pi ⩽ 100000) — набор чисел p. В третьей строке дано число m (n ⩽ m ⩽ 100000) — длина массива-подарка. В четвертой строке содержится m чисел ai (1 ⩽ ai ⩽ 100000) — числа из массива. Формат выходных данных В первой строке выходного файла выведите «YES», если в массиве-подарке существует подотрезок q, удовлетворящий условиям Нолика. В противном случае выведите «NO». В случае положительного ответа на второй строке также выведите позицию начала подотрезка. Если ответов несколько, можно вывести любой. Примеры input.txt 3 2 3 4 4 1 4 2 3 output.txt YES 2 input.txt 3 1 2 3 4 2 3 4 5 output.txt NO Нужна помощь в ускорение работы обработчика (8-14)
0
|
||||||
| 08.11.2015, 01:39 | |
|
Ответы с готовыми решениями:
16
Определить номер позиции в списке, с которой начинается заданный подсписок Написать программу определения номера позиции в списке, с которого начинается заданный подсписок
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|||||||||||
| 08.11.2015, 11:13 | |||||||||||
Сообщение было отмечено Cheshires как решение
Решение
1
|
|||||||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||||||||||
| 08.11.2015, 13:28 | |||||||||||
Сообщение было отмечено Cheshires как решение
Решение
А почему Вы используете множество? Нигде в условии не сказано что числа не могут повторяться.
Ну и так, к слову
1
|
|||||||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 08.11.2015, 13:30 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
||||||
| 08.11.2015, 15:53 [ТС] | ||||||
|
Тоже хотел сказать насчёт множеств, но что-то сильно сомневался.
По времени все ровно не укладываюсь.
0
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 08.11.2015, 15:54 | |
|
а какая система проверки?
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
|
| 08.11.2015, 15:57 [ТС] | |
|
Есть тесты и ответы к ним(2 txt файла с входными и выходными данными). Я написал цикл, который бы проверял.
Но так же я вручную сверял.
0
|
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 08.11.2015, 16:03 | |
|
а можно тесты посмотреть-подебажить?
0
|
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
||
| 08.11.2015, 16:35 | ||
|
первых 47 тестов прошло удачно, потом подвисло по времени Добавлено через 2 минуты представляю, что будет на 49-50 тестах, где по полтора мега входных данных))
0
|
||
|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
|
| 08.11.2015, 16:53 [ТС] | |
|
Большое спасибо за помощь! Видимо, это та задача, которая на питоне не решается за опред. время. Пошёл листать учебник по паскалю!)
0
|
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|||||||||||
| 08.11.2015, 17:30 | |||||||||||
|
Не по теме: всегда пожалуйста! ...вангую двух оптимизаторов в этой ветке :) если они придут, я остановился на вот таком варианте (с проверкой тестов)
99% всего времени занимает сортировка листа...
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
|
| 08.11.2015, 17:46 [ТС] | |
|
А если нам начинать проверку не с 0 элемента, а с (lm/2) и идти в обе стороны, к lm и к 0. Тогда, у нас кол-во проверок будет равно не (lm-lp+1), а (lm-lp*2+1), но тогда нам придётся делать 1-у проверку вне цикла for, эта идея может сработать?
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||
| 08.11.2015, 23:37 | ||||||
|
Можно и без сортировки
0
|
||||||
|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
|
| 09.11.2015, 17:15 [ТС] | |
|
Вы уверены, что код правильный? Я уже как не изворачивался, но некоторые тесты не проходит!
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 10.11.2015, 12:20 | |
|
Cheshires, Странно что хоть какие-то прошёл… (условие было наоборот)+ Вы же обратили внимание что это только часть кода(без ввода данных и вывода результата)?
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
||||||
| 10.11.2015, 15:19 [ТС] | ||||||
|
Marinero, Да, заметил! Даже так я пробовал (правда уже сам), и у меня все ровно некоторые тесты не проходили. И скорость на некоторых примерах оставляла желать лучшего
![]() У меня только отсутствовал:
0
|
||||||
| 10.11.2015, 15:19 | |
|
Помогаю со студенческими работами здесь
17
Дан список с числом элементов кратным пяти. Найти в исходном списке пятерку элементов (подсписок) Разработать функцию, которая удаляет подсписок списка L1 заданный диапазоном позиций Написать функцию, которая находит в данном списке подсписок минимальной длины
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|