<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=83.149.2.238&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=83.149.2.238&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/83.149.2.238"/>
		<updated>2026-04-19T21:07:35Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=25485</id>
		<title>R2Cmax</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=25485"/>
				<updated>2012-06-16T22:33:40Z</updated>
		
		<summary type="html">&lt;p&gt;83.149.2.238: /* Эффективное решение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #ABCDEF; font-size: 16px; font-weight: bold; color: #000000; text-align: center; padding: 4px; border-style: solid; border-width: 1px;&amp;quot;&amp;gt;Эта статья находится в разработке!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Категория: В разработке]]&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Постановка задачи==&lt;br /&gt;
Дано два разных неоднородных станка, которые работают параллельно. Есть &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; работ, время выполнения которых на первом &lt;br /&gt;
и втором станке различное. Нужно минимизировать время завершения всех работ.&lt;br /&gt;
&lt;br /&gt;
==Сложность задачи==&lt;br /&gt;
Задача &amp;lt;tex&amp;gt;R2 \mid \mid C_{max}&amp;lt;/tex&amp;gt; является &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;-полной задачей.&lt;br /&gt;
&lt;br /&gt;
==Неэффективное решение==&lt;br /&gt;
Переберём все битовые последовательности из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; элементов. Для каждой перестановки вычислим завершение последней работы. Работы будем выполнять следующим образом, если на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-й позиции стоит 0, то &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-ая работа будет выполняться на первом станке, иначе на втором. Среди всех перестановок выберем ту перестановку, у которой &amp;lt;tex&amp;gt;C_{max}&amp;lt;/tex&amp;gt; минимальный.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма &amp;lt;tex&amp;gt;O(n \cdot 2^n)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Эффективное решение==&lt;br /&gt;
Применим для решения данной задачи динамическое программирование.&lt;br /&gt;
&lt;br /&gt;
Будем  считать &amp;lt;tex&amp;gt;dp[i][j]&amp;lt;/tex&amp;gt;, в котором будем хранить минимально время выполнения работ на втором станке, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; означает, что мы рассмотрели &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; работ, а &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; с каким временем выполнения работ на первом станке.&lt;br /&gt;
&lt;br /&gt;
Изначальное значение &amp;lt;tex&amp;gt;dp[0][0] = 0&amp;lt;/tex&amp;gt;.&lt;/div&gt;</summary>
		<author><name>83.149.2.238</name></author>	</entry>

	</feed>