Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
6 / 6 / 9
Регистрация: 16.04.2015
Сообщений: 121

Материал для изучения множеств и последовательностей

30.01.2016, 20:20. Показов 605. Ответов 2

Студворк — интернет-сервис помощи студентам
Где взять материал для обучения множеств и последовательностей для PascalABC.NET. Готовлюсь к олимпиаде по программированию. Была задача, которую очень просто решить с множествами, но тяжело решить со строками. Так сказать, изучал множества в процессе решения задачи. Вопрос: как удалить элементы множества (очистить его)? Есть ли какая-нибудь специальная процедура. А то пришлось удалять вручную, заново искав, добавляемые элементы, это отняло (прибавило) очень много времени при выполнении. В задаче было сказано строка до 200 000 символов, а у меня при 4-10 она нормально работала, если больше, то время выполнение сильно превышало 1-2 секунд (сколько было сказано в задаче, но программа проверки давала 20 сек на выполнение). Я не представляю сколько там памяти и времени надо для выполнения разбиения.
Задача была следующая:
Найти странность строки. Имеем два множества W(s) = все возможные строки, полученные путем копирования из основной строки и Y(s) = все возможные строки, полученные путем удаления символов из основной строки (мы можешь удалять не только один раз) (повторений не должно быть ни в первом, ни во втором множестве). Не понятно почему, но в Y(s) входит и сама строка.
Например: строка = "abba"
W(s) = 'a', 'b', 'ab', 'bb', 'ba', 'abb', 'bba', 'abba';
Y(s) = 'bba', 'ba', 'a', 'aba', 'aa', 'ab', 'abb', 'abba', 'b', 'bb';
Странной строка является, если W(s) содержит столько же и таких же строк Y(s), проще говоря, W(s) = Y(s).
Странность числа = кол-во странных подстрок этого числа, не считая самой строки. Самое главное, то что при первом деление на подстроки, мы не должны считать саму строку, а при втором должны учитывать саму подстроку.
Нужно посчитать странность строки. Строка не превышает 200 000 символов.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.01.2016, 20:20
Ответы с готовыми решениями:

материал для изучения
Всем привет,интересуюсь информационной безопасностью и технологиями. Посоветуйте ЛЮБОЙ МАТЕРИАЛ(ТЕКСТ,ВИДЕО,АУДИО) для саморазвития и...

Посоветуйте материал для самостоятельного изучения С/С++/С#
Посоветуйте эффективный методический материал (книги, сайты и т.д.) для самостоятельного изучения С/С++/С#. А так же принципов ООП. Уж...

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

2
21 / 21 / 16
Регистрация: 21.01.2015
Сообщений: 51
31.01.2016, 22:18
Не стоит вскрывать эту тему. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой будет жалеть. Лучше закройте тему и забудьте что тут писалось. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.
0
6 / 6 / 9
Регистрация: 16.04.2015
Сообщений: 121
02.02.2016, 20:41  [ТС]
Эт почему это? :|
Множества помогли мне решить задачу с перебором, со строками ее замучаешься решать, в них одна главная ключевая особенность, то что в массиве строк могут быть повторения, а во множестве строк - нет. Вот это реально помогает. Эту задачу в моей группе никто не решил кроме меня, потому что она оч сложная, но с множествами она решается очень элегантно.
Последовательности реально хорошая тема. За один день до второго тура олимпиады прочитал обзор возможностей на офф сайте ПаскаляАБС.НЕТ, это очень сильно помогло мне, я более менее разобрался с последовательностями. Можно написать 100-200 строк, потратить приличное время и рабочее "место", а можно все написать в 10-20 строк с последовательностями. Помогла элегантно решить одну задачу второго тура за 9 строк, очень быстро работала, за нее 100 баллов из 100 получил. Все остальные 5, которые я решил не набрали максимума, там в среднем по 30-50 на каждой вышло. Это такие крутые возможности открывает нам PascalABC.NET.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.02.2016, 20:41
Помогаю со студенческими работами здесь

Посоветуйте материал для изучения: БНФ, Регистр IP, Безусловные и условные переходы
Посоветуйте материал для начального изучения следующих тем: Конструкции управления. Линейная модель памяти компьютера. Отображение...

Порекомендуйте книги(или др материал) для изучения "php и sql"
При создании post обработчика со sql запросом возникли множественные вопросы(ошибки), при этом имеющиеся manual и статьи показали малую...

Какие книги посоветуйте для изучения для изучения STL, C++
Попробовал Страуструп но видимо сложновато пока.

Для заданного набора множеств определить, какая группа множеств представляет их пересечение и объединение
Даны множества: А – множество равносторонних треугольников и В – множество прямоугольных треугольников. Определить, какая группа множеств...

Найти объединение, разность, мощности каждого из множеств, для равномощных множеств задать биекции
Всем привет, ребят, очень нужна ваша помощь в решении следующего задания по дискретной математике. Дано множество A=2N+1, B=Z, C=. 1....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru