powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / алгоритм - Застройка
18 сообщений из 43, страница 2 из 2
алгоритм - Застройка
    #38191956
denis_stell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38191959
denis_stell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я так понимаю.
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38191981
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis_stellя так понимаю.
Сектор 2 и 4 можно объединять разными способами. Кст. задачка внезапно
напомнила мне оптимизацию Карно или Вейча.
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38191997
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis_stell, Вы пытаетесь решить задачу разбиения (то есть построить одновременно кучу зданий). А задача совсем в другом - сколькими способами можно построить одно здание. И достаточно, например, расположить три непригодных участка по диагонали, чтобы ответы на то и другое разъехались.
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38192004
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятная картинка. Мы считаем варианты или что? Если варианты, то здания могут упираться только в границы, но не друг в друга - и, разумеется, разные варианты зданий могут занимать один и тот же сектор.
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38192071
denis_stell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,

полностью согласен, ошибся.
нужно построить одно здание
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38192104
---Rt--------
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНу ты и старичелло, браза. Скоро уже пенсию
приносить будут а ты всё на ПТ....
хех
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38192112
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К нам не собираесси? В нашу Уркаину.
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38192452
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction,

Да, ляпнул недодумавши... Критерий нужен для границ, а не углов. И чтобы получить его, надо два прохода по матрице... Надо будет сравнить с количеством итераций при втором подходе (с построением списка)
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38194038
denis_stell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребят,ну подскажите как подсчитать?
сделал так:
ввел матрицу, в дэволтном значении все значения матрицы =1
затем спрашиваю у ползователя "введи сколько не пригодных участков"
вводим
затем,в зависимости от того сколько участков, вводим для каждого участка координаты
после того как определили координаты - заменяем эти значения 0
т.е. 1 пригодный участок. 0 не пригодный
получается что-то типа этого:
1 1 0 1 1
1 1 1 1 1
1 1 1 1 1
1 0 1 0 1
допустим так, потом например иду в цикле по строкам +столбцам, проверяю если элемент например a[i][j]!=0 иду дальше и считаю элементы, как только в строке встретил элемент = 0 выхожу из цикла,но что-то не улавливаю...
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38194211
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis_stellребят,ну подскажите как подсчитать?schwa написал на предыдущей странице. Алгоритм как минимум неплохой, а скорее всего, вряд ли есть лучше. Сложности алгоритма, по крайней мере, зависит от К, а не от M х N.
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38194932
denis_stell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
schwaВсе поле это один прямоугольник N на M. L - список, который содержит пригодные участки. Вначале он стоит из всего участка.
1) Берем первый непригодный участок. В соответствие с ним разбиваем (NxM) на нужно число частей. И добавляем полученные участки пригодные в L, удалив из него NxM.
2) Берем следующий непригодный участок. Находим какие он затрагивает участки из L и разбиваем их также как на шаге 1.
Дальше снова 2. До тех пор, пока не закончатся непригодные участки.

можете привести пример алгоритма, который вы написали?
интересует п.1 (В соответствие с ним разбиваем (NxM) на нужно число частей. И добавляем полученные участки пригодные в L, удалив из него NxM.)
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38195345
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis_stell,

...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38195599
denis_stell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
визуально я понимаю как должно быть,спасибо.
а как например вычислить эти зоны?варианты между например 1,2,3 непригодными участками?если не трудно или на псевдо-коде или C,pascal
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38195776
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

Суть алгоритма понятна, но пропускаете варианты... Ну и главный вопрос-то (что для варианта schwa, что для вашего) - как выявить именно нужный "пригодный" вариант при анализе разрезов.

rockclimberschwa написал на предыдущей странице...
Сложности алгоритма, по крайней мере, зависит от К, а не от M х N.В указанном виде - от K зависит количество итераций для разбиения (в худшем случае - на каждой итерации список возрастает на 6 элементов), а от NxM зависит как раз анализ "пригодности". Так что сложность алгоритма - надо посмотреть...
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38196323
denis_stell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

тогда как быть?
я не совсем понимаю как получить варианты пригодных зданий?в контексте например той же матрицы?
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38197278
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMrockclimberschwa написал на предыдущей странице...
Сложности алгоритма, по крайней мере, зависит от К, а не от M х N.В указанном виде - от K зависит количество итераций для разбиения (в худшем случае - на каждой итерации список возрастает на 6 элементов), а от NxM зависит как раз анализ "пригодности". Так что сложность алгоритма - надо посмотреть...Не увидел в том алгоритме "анализа пригодности". Сначала пригодно все поле. Потом добавляем один непригодный сектор. Все поле делится на 2, 3 или 4 поля в зависимости от положения непригодного сектора. Потом добавляем второй. И т. д. Вроде как сложность должна быть O(K 2 ). Вариант алгоритма ТС-а - чуть ли не O(N 2 * M 2 ).
...
Рейтинг: 0 / 0
алгоритм - Застройка
    #38197377
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rockclimber,

Ну да, алгоритм ТС не пойдёт. А вот алгоритм с последовательным добавлением "непригодных" секторов попробую попозже изобразить... Там действительно получается похоже на ДП:
- исходное положение: список из одного "пригодного" элемента (NxM) (это нулевое положение [K-1]).
- считая, что для [K-1] элементов - список "пригоден", добавляем [K]-элемент: проходим список, находим элементы, куда попадает "непригодный", заменяем эти элементы на 2/3/4 новых элемента, и так далее.
- составленный список надо проанализировать, и выбросить те элементы, которые полностью покрываются каким-либо другим элементом .
Я вот интуитивно понимаю, что результат будет около дела, но надо это доказать... Инвариантность порядка добавления "непригодных, невозможность существования "составных" ответов (прямоугольник, сложенный из неполностью пересекающихся элементов списка); плюс неплохо бы оптимизировать последовательность действий - например, анализ попарного пересечения-покрытия элементов проводить в момент добавления в список. Тогда можно вплотную приблизиться к сложности O(K*lnK).
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / алгоритм - Застройка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]