|
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
|
|
Рекурсия. Рекурсия с мемоизацией.08.06.2019, 09:48. Показов 6341. Ответов 62
Метки нет (Все метки)
Добрый день. Задача такова: У нас есть массив для длины строки (пусть будет M=20). У нас есть некие длины слов (колличество не важно пусть будет 50 слов, задаим длины, как значение "j", ну а сами слова пусть будут "i"). Смысл в том, что заполнить словами строки + с учетом пробела + еще штрафы (штрафы - место оставшееся в строке куда не влезло слово и перенесли на след. строку). С этим всё более менее понятно. Но вот тут, момент который мне не понятен следкует. Дойдя до последней строчки, мы получим последний штраф, как мне сказали, его для рекурсии, нужно возвести в куб (^3 для большей наглядности) и пустить на подсчет выше по строкам, мол далее он сам всё сделает, все подсчеты "нужно довериться". Я НЕ ПОНИМАЮ! Как это и зачем, и как это сделать! Говорили, что нужно два цикла, один (внешний) на подсчет всех слов зачем-то, а второй (внутренний) , как я понял должен выполнять (что-то) и условие на пока не >0. Это рекурсия. И я не привык к такому ужасу, не могу понять. Помогите пожалста, а то уже голову сломал. Главное с рекурсией разобраться, а мемоизация, как я понял - это тоже самое, только с сохранением значений пройденный путей.
0
|
|
| 08.06.2019, 09:48 | |
|
Ответы с готовыми решениями:
62
Рекурсия. Рекурсия с мемоизацией. (полная версия в печатном варианте, работа со словами и строками) Рекурсия Рекурсия |
|
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
|
||||||
| 13.06.2019, 21:10 [ТС] | ||||||
|
0x10, посмотрите, критекуйте, я правильно понял идею первого пункта? это так должно выглядеть?
0
|
||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 13.06.2019, 21:12 | ||
|
У вас есть список слов. Ок. Теперь нужно сформировать список длин этих слов.
0
|
||
|
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
|
|||||||||||||||||||||
| 13.06.2019, 21:30 [ТС] | |||||||||||||||||||||
|
0x10, сорри, я затупил, есть похожая вещь в java просто. как я понял вы имели в виду
Разбиение строки Split Метод split() в Python без аргумента разбивается на пробелы. Пример:
Python
Разделить строку в список Следующая программа Python разделяет строку на список. Пример:
Python
получается ислользуя Разбиение строки Split мы заменяем str(строку) на наше thislist и тем самым проводим разбиение нашей строки на эллементы (слова), а потом делаем их подсчет. как понял так работает..?
0
|
|||||||||||||||||||||
|
Комп_Оратор)
|
||
| 13.06.2019, 21:40 | ||
|
0x10, Nik Golor, я прочёл условие и почувствовал себя тупым. То есть, я и близко не понимаю о чём речь. Я не могу себе представить ни одного варианта разбиения кроме первого и единственного.
Я понимаю, что в задаче имеется ввиду нечто иное. Возможно М это максимальная длина строки абзаца, а нам нужно найти оптимальную 0<m<M ? Или скажем создать матрицу символов с минимальной диагональю?
0
|
||
|
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
|
|
| 13.06.2019, 21:49 [ТС] | |
|
IGPIGP, ну да вообще, должна быть строго говоря строка. да даётся длинна и надо заполнять каждую строку с учетом пробела и штраф еще приплетать. + к этому, как вы упомянули про последнее слово и слово вне размерности строки. Что-то я уже сам запутался если честно.
0
|
|
|
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
|
||||||
| 13.06.2019, 22:44 [ТС] | ||||||
|
IGPIGP, щас стараюсь по тихоньку идти пошагово. Надеюсь, что-то путное выйдет, как отчаюсь сразу сюла выкину.
Добавлено через 42 минуты IGPIGP, Вы еще не спите? Гляньте плз, если что не так скажите. Вы такое имели в виду?
0
|
||||||
| 13.06.2019, 23:21 | ||
|
Не по теме:
0
|
||
|
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
|
|
| 14.06.2019, 07:04 [ТС] | |
|
IGPIGP, Да, там немного не понятно местами. Примерно предстваляю, как должно выглядеть, но как туда еще использовать 2цикла (наверное сложенный делать или хз даже), +умудриться применить рек. и мемоизацию.
0
|
|
|
3 / 3 / 0
Регистрация: 07.01.2017
Сообщений: 101
|
|
| 14.06.2019, 08:33 [ТС] | |
|
роспись
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||||||||||||||||
| 15.06.2019, 09:16 | ||||||||||||||||
|
Еще раз, входные данные небольшого примера: длина строки 10, текст «aaaaaaa bb cccccc ddddd». Варианты форматирования с вычисленными штрафами:
1
|
||||||||||||||||
|
Комп_Оратор)
|
|||
| 15.06.2019, 09:47 | |||
).
0
|
|||
|
Просто Лис
|
|||||||||||
| 15.06.2019, 10:23 | |||||||||||
|
Наконец-то привели пример ввода/вывода.
1
|
|||||||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 15.06.2019, 10:29 | |
|
Рыжий Лис, такой алгоритм на моем примере дает неоптимальное решение.
0
|
|
|
Просто Лис
|
|||||||||||
| 16.06.2019, 07:40 | |||||||||||
|
Ага. Вот со всем пробелами:
1
|
|||||||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 16.06.2019, 07:48 | |
|
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 16.06.2019, 08:00 | ||
|
А задание выполнено неточно, потому что по условию требуется алгоритм, находящий оптимальное распределение, а у вас жадный алгоритм, не всегда дающий оптимальное решение.
0
|
||
| 16.06.2019, 08:00 | |
|
Рекурсия Рекурсия Рекурсия с возвратом
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые алгоритмы, которые не западно ориентированной философии кода, без уведомлений и объяснений.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|