Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101

Рекурсия. Рекурсия с мемоизацией

08.06.2019, 09:53. Показов 3918. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Задача такова: У нас есть массив для длины строки (пусть будет M=20). У нас есть некие длины слов (колличество не важно пусть будет 50 слов, задаим длины, как значение "j", ну а сами слова пусть будут "i"). Смысл в том, что заполнить словами строки + с учетом пробела + еще штрафы (штрафы - место оставшееся в строке куда не влезло слово и перенесли на след. строку). С этим всё более менее понятно. Но вот тут, момент который мне не понятен следкует. Дойдя до последней строчки, мы получим последний страф, как мне сказали, его для рекурсии, нужно возвести в куб (^3) и пустить на подсчет выше по строкам, мол далее он сам всё сделает, все подсчеты "нужно довериться". Я НЕ ПОНИМАЮ! Как это и зачем, и как это сделать! Говорили, что нужно два цикла, один (внешний) на подсчет всех слов зачем-то, а второй (внутренний) , как я понял должен выполнять (что-то) и условие на пока не >0. Это рекурсия. И я не привык к такому ужасу, не могу понять. Помогите пожалста, а то уже голову сломал. Главное с рекурсией разобраться, а мемоизация, как я понял - это тоже самое, только с сохранением значений пройденный путей.

Добавлено через 8 минут
Ну и да, в куб мы возводим штраф для большей ясности, как я понял.
Вся суть в том, что не понятна работа и смысл рекурсии, как бы не разбирался. Но всё крутится вокруг 2 циклов и доверия к выполнению на других строках.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2019, 09:53
Ответы с готовыми решениями:

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

Рекурсия
Не совсем разобрался с заданиями помогите!

Рекурсия
Мне нужно что бы в рекурсии делал от большого на маленький. Вот сам код: #include <iostream> #include <math.h> using...

25
103 / 82 / 78
Регистрация: 11.05.2015
Сообщений: 201
08.06.2019, 11:34
Не очень понятно задание. Правильно я понимаю, что имеется множество строк длины M и необходимо заполнить их словами так, чтобы было как можно меньше штрафов (пустых мест в конце строки). Кроме того так и не понял для чего возводить что-то в куб. Что в итоге программа на выходе должна выводить?
0
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
08.06.2019, 13:12  [ТС]
Цитата Сообщение от ivan37 Посмотреть сообщение
Не очень понятно задание.
поверьте, мне тоже не особо понятно. Да, надо наиболее выгодно распределить слова. В куб возводим, как я понял, для большей наглядности при получении результата. Но вся суть состоит в том, что когда мы доходим до конечой строки...,за чем-то нужно выполнять рекурсию с конечной строчки и до начальной. Если чесн, смысла не вижу в этом обсалютно. Но наверное это что то типо проверки нашего решения. Мол надо выполнить расчет через ^3 штрафа последней строки, а дальше просто пустить пример подсчета, и довериться. Дабы он всё сам правильно сделает. И такое же с РсМ, но там мы будем, как я понял, просто сохранять результаты этой "проверки". Не могу сделать, потому что: 1) не понимаю смысла зачем это надо вообще. 2) не понял, как это проклятие выполняется. 3) нет примеров выполнения подобного задания.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
08.06.2019, 15:04
Цитата Сообщение от Nik Golor Посмотреть сообщение
поверьте, мне тоже не особо понятно
Но с чего вы взяли, что непонятное, пересказанное своими словами, станет роднее кому-то из читающих. Приведите текст условия дословно.
1
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
08.06.2019, 18:43  [ТС]
IGPIGP, провести динамическое заполнениес строк фиксированной длинны, словами из массива. Провести операции рекурсии и рекурсии с мемоизацией. (более подробно я расписал то, как объясняли мне выполнять это. но вот хоть убейте, не вижу смысла в этом и не пойму, как выполнять).
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
08.06.2019, 20:16
Цитата Сообщение от Nik Golor Посмотреть сообщение
провести динамическое заполнение строк фиксированной длинны
Динамическое заполнение, это видимо противоположность статическому заполнению. Всё бы ни чего, но я понятия не имею о чём тут речь. Если тут говорится о том, что нельзя использовать c-строковые литералы, то ваши преподаватели большие затейники.
Цитата Сообщение от Nik Golor Посмотреть сообщение
Провести операции рекурсии и рекурсии с мемоизацией.
Тут не шибко понятно о чём речь. Я бы предположил, что мемоизационная таблица (хранилище полученных решений), это сама строка массива, содержащая уже имеющееся слово. Однако при чём тут рекурсия? Я не мастак в динамическом программировании и вряд ли скажу тут что-либо ценное. Но думаю, если вы кратко изложите то, что вам сообщили на лекциях по данному вопросу, то это поможет тем, кто смог бы ответить.
0
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
08.06.2019, 20:35  [ТС]
можно использовать всё, что угодно. но с применением 2-х циклов. и работая со штрафами (место осталось свободным в строке). сама суть, что штрафы возводятся в ^3 и надо вычисление делать только с последней строкой, а дальше всё по примеру пускать, мол само сделает. В том то и дело, что это максимум информации, что нам давали. Было бы с кем поговорить, дак даже те кто сдали не знают как делать, ибо сдавали методом "чаще хожу, надоем, поставят" , а мне так не годится.

Добавлено через 1 минуту
IGPIGP, что с образованием творится капец, ладно бы как всегда ничего не дали "знаний" прогуглил и научился сам. А тут в сети роюсь уже неделю, и не малейшей зацепки и примера. А они требуют. PS: Страна самообразования.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
08.06.2019, 22:01
По обрывочному описанию кажется, что нужно решить задачу расстановки переносов в тексте методом динамического программирования. Готовое решение: https://www.geeksforgeeks.org/... lem-dp-19/. Может отличаться от ожидаемого, но подойдет как точка входа для поиска решения.
1
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
08.06.2019, 22:07  [ТС]
Добавлено через 21 секунду
0x10, сам перенос и распределение слов в сроки - это ясное дело, я писал, что не проблема. А вот именно расчет с последней строчки штрафа и шага вверх "не контролируемого", вот это не понятно вообще.
0
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
09.06.2019, 08:59  [ТС]
Вообще, понятие такое. Программа работает как Microsoft Word документ - это ясно-понятно. Но вот сама рекурсия и РсМ, вот эта часть программы меня в замешательство погружает.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.06.2019, 10:30
Цитата Сообщение от Nik Golor Посмотреть сообщение
РсМ
если русскими символами то это российский союз молодежи, а если английскими, то это возможно импульсно-кодовая модуляция. Даже в такой малости ребус.
Nik Golor, если ваши преподаватели говорят вам нечто вроде: "НдлсмддбтпыфолоС но смотрите не вшпо дфшаыывпдрот!!!", это значит, что либо они идиоты, либо вы должны понять о чём речь исходя из пройденного материала. Но глядя на ваш вопрос, трудно сказать в чём тут дело. Сферический конь в вакууме конфликтует с кубическим штрафом PcM. Рекурсивно, причем.
Пока не ощущаю ни чего кроме сочувствия.
0
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
10.06.2019, 07:27  [ТС]
IGPIGP, Рекурсия - Р. Рекурсия с мемоизацией - РсМ. А преподаватели придумывают с головы всё, не задумываясь, что нам это искать потом (но надо знать, что искать. и было бы что искать).
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
10.06.2019, 09:37
Цитата Сообщение от Nik Golor Посмотреть сообщение
Рекурсия с мемоизацией - РсМ.
А почему ни кто Гугл об этом не знает? Ваши преподы придумали? Дело в том что россоюз молодёжи плачет. В формате PCM. Ни чем не сжатом и 24-х битном. Горючими сэмплАми.
1
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
10.06.2019, 09:44  [ТС]
IGPIGP, да уже вариантов не осталось, очень долго пытаюсь сделать всё это дело..., а кончается всё фразой "это не то, что мы хотим". Ну я уже не знаю, что делать если честно. По ходу из за одного долга с этим заданием придется отчисляться. Обидно очень, уже почти отучился.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
10.06.2019, 09:59
Цитата Сообщение от Nik Golor Посмотреть сообщение
По ходу из за одного долга с этим заданием придется отчисляться. Обидно очень, уже почти отучился.
Цитата Сообщение от Nik Golor Посмотреть сообщение
А вот именно расчет с последней строчки штрафа и шага вверх "не контролируемого", вот это не понятно вообще.
Мне тоже не понятно. В ссылке от 0x10, вроде показано, как сохраняется уже выполненный расчёт. Может попробовать сделать так же? Или пойти к преподавателю и объяснить почему вас не было на соответствующем занятии?
Алгоритм контроля распределения интересный, кстати.
0
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
10.06.2019, 10:44  [ТС]
IGPIGP, я попробую сделать еще вариантов 5 выполнения, и принети в ближайшее время. Может хоть одно утсроит их. Но предчувствую очередное "Это не то, что я хочу"
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
10.06.2019, 10:56
Цитата Сообщение от Nik Golor Посмотреть сообщение
Но предчувствую очередное "Это не то, что я хочу"
Узнайте, что они хотят. Если есть героическое прошлое отношений с кем-то из "них" - постарайтесь сделать так, чтобы "они" забыли. Для остальных случаев есть варианты. Быстро но дорого или как крайность, взять учебный план, свой вариант выполнения, который соответствует, но "не такой". И устроить разборку. В любом разе, нанимать киллера для препода рановато (имхо). Да и дороговато, если не найдётся количества желающих поучаствовать материально, в складчину.
0
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
10.06.2019, 11:04  [ТС]
IGPIGP, да что уж, буду думать еще. Выбор не велик уже. Подходил, спрашивал, но бормочат постоянно одно и то же. Придумаю что-нибудь, не в первой.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
10.06.2019, 11:10
Удачи.
0
 Аватар для Nik Golor
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
12.06.2019, 06:17  [ТС]
IGPIGP, в общем, препод не захотел принемать. Сказал приходить 13-ого. Ладно, опытаюсь еще что-то придумать до завтра, может получится угодить наконец-то.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.06.2019, 06:17
Помогаю со студенческими работами здесь

Рекурсия: генерация следующего элемента заданной последовательности
Кто знает как написать программу на C ++, которая рекурсивно генерирует следующий времена этой последовательности: (1; 1/2; 5/2; 8; 53/2;...

Рекурсия
Помогите с лабой!!! Нужен код Спасибо заранее

Рекурсия
Помогите написать функцию которая будет считать эту рекуррентную формулу с помощью рекурсии

рекурсия в С++
Изучаю использование рекурсивной функции в С++. Правильно ли я понял: - что нет ограничений в max depth вызова рекурсии которые функция...

Рекурсия
Помогите с рекурсией


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru