Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 15.07.2011, 21:10   #1
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Задача

Хочу обсудить одну задачу с киевской олимпиады KPI_OPEN
возможно кто то там был и все видел
Мы эту задачу решили, но хотелось бы увидеть ваше решение

Итак задача
Я ее предисторию как там не буду рассказывать, а сразу к делу.
вводится размер матрицы N, и сама матрица из нулей и единиц
строки обозначают людей, и столбцы их профессии
единица в i строке и j столбце обозначает что i человек может иметь j профессию. 0 - соответственно не может.
Надо определить однозначно ли определяется сочетание людей и профессий. Если да вывести 1, если нет или вообще не определяется вывести 0.
Сложность еще в том что N может достигать 2000, а время выполнения программы 1 сек.
(Offline)
 
Ответить с цитированием
Старый 15.07.2011, 21:13   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Задача

Если не ошибаюсь, такая задача разбиралась у меня в универе в рамках дискретной математики.
Только что-то решения не припоминаю.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 15.07.2011, 21:15   #3
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Ответ: Задача

У нас в универе не разбираются такие задачи)
а вообще она со студенческой олимпиады
алгоритм сам не сложный (это задач в том туре одна из простых) главное оптимизировать чтобы на большом N прошла тест по времени
(Offline)
 
Ответить с цитированием
Старый 15.07.2011, 21:17   #4
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Ответ: Задача

А вообще это задача определения единственности полного парасочетания в двудольном графе)

Если кто хочет могу кинуть еще, они по сложнее
(Offline)
 
Ответить с цитированием
Старый 15.07.2011, 23:30   #5
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Задача

7 минут подождал решения, не выдержал и написал.
Наверное олимпиаду сдал за 15 минут?
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Старый 15.07.2011, 23:42   #6
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Ответ: Задача

Я же сказал что это самая легкая
я тебе сейчас дам самую сложную не будешь ты так говорить
и еще насчет решения
ты покажи его
я сказал он для 2000 тысяч должен считать не более секунды
вот одна из сложных http://kpi-open.org/static/uploads/t.../village_r.pdf
(Offline)
 
Ответить с цитированием
Старый 15.07.2011, 23:49   #7
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Задача

Сообщение от genroelgvozo Посмотреть сообщение
Надо определить однозначно ли определяется сочетание людей и профессий.
Может кто-нибудь переформулировать плз?
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо h1dd3n за это полезное сообщение:
Мистер Розовый (16.07.2011), Reizel (16.07.2011)
Старый 15.07.2011, 23:51   #8
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Ответ: Задача

Можно ли при таких ограничениях (для каждого человека сказано кем он может быть а кем нет) однозначно определить профессию каждого
(Offline)
 
Ответить с цитированием
Старый 16.07.2011, 12:20   #9
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Задача

Сообщение от genroelgvozo Посмотреть сообщение
А вообще это задача определения единственности полного парасочетания в двудольном графе)

Если кто хочет могу кинуть еще, они по сложнее
На С++ пробежать весь массив 2000х2000 это недолго. Это меньше секунды. Так с учетом, что все профессии распределены правильно. Если где-то встретится фэйл - вылетаем из цикла и пишем 0. Сложности нет
Сейчас посмотрю ваши сложные задачи

PS нет, не смогу:



Хотя присмотрелся - только некоторых букв не хватает попробую расшифровать
(Offline)
 
Ответить с цитированием
Старый 16.07.2011, 12:31   #10
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Задача

Мистер Розовый, а зачем в этом коде тридэ, задний буффер и рандом?
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо is.SarCasm за это полезное сообщение:
den (16.07.2011), L-ee-X (16.07.2011), Reizel (16.07.2011), Reks888 (16.07.2011)
Старый 16.07.2011, 14:11   #11
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Задача

Сообщение от Павел Посмотреть сообщение
На С++ пробежать весь массив 2000х2000 это недолго. Это меньше секунды. Так с учетом, что все профессии распределены правильно. Если где-то встретится фэйл - вылетаем из цикла и пишем 0. Сложности нет
Сейчас посмотрю ваши сложные задачи

PS нет, не смогу:
Хотя присмотрелся - только некоторых букв не хватает попробую расшифровать
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 963
Размер:	50.2 Кб
ID:	14405
__________________
(Offline)
 
Ответить с цитированием
Старый 16.07.2011, 16:10   #12
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Задача

типичная комбинаторика, к программированию на мой взгляд имеет опосредованное отношение.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
h1dd3n (16.07.2011)
Старый 16.07.2011, 23:14   #13
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Ответ: Задача

Ну насчет алгоритмики да, это не олимпиада по технологиям
но даже в асм такие задачи
и насчет перебора , такое при больших не посчитается за 1 секунду
у тебя рекурсия (пусть и с нормальной динамикой) в которой двойной цикл (в котором ксати в вызывается рекурсия)
там было 2-3 команды которые сделали рекурсивно (возможно как и у тебя я не вникал в твой алгоритм) которые укладывались еле еле (0.8-0.9 секунды) и при этом они долго долбились над оптимизированием))
сам автор этого не предполагал, он обьяснил что "блин а компьютеры стали слишком быстрые)" и по идее при небольшом увеличении количества деревень тот переборный алгоритм не работает
а у автора был комбинаторный алгоритм который написала всего одна команда из венгрии

to Павел:
сразу в массиве проффесии не распределены, т.е может быть так:
1 0 0
1 1 0
1 1 1
но по этому массиву мы все равно однозначно определяем работы
а значит нужно не 2000*2000, а 2000^3 так как мы для каждой строки должны ее вычесть из каждой другой строки (а выбераем каждый раз строку с одной единицей)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 16:44.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com