<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888790</guid>
        <pubDate>Tue, 28 Mar 2023 19:06:10 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888790</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888789'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Profi &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T22:04:50+03:00">28.03.23, 19:04</time></span><div class='quote '>задача сводится к определению что сейчас делать И1, брать число или пропускать и брать ли два подряд и когда.</div></div><br>
Фактически так и есть.]]></description>
        <author>shm</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888789</guid>
        <pubDate>Tue, 28 Mar 2023 19:04:50 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888789</link>
        <description><![CDATA[Profi: Какая-то неполная задача.<br>Если во входном массиве нельзя менять порядок, то задача сводится к определению что сейчас делать И1, брать число или пропускать и брать ли два подряд и когда.<br>Если можно - то задача сводится к нахождению максимальной суммы и расстановки чисел в нужном порядке.<br>Короче - я бы потребовал уточнения ТЗ.  :)]]></description>
        <author>Profi</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888786</guid>
        <pubDate>Tue, 28 Mar 2023 16:43:30 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888786</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888783'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T16:10:25+00:00">28.03.23, 16:10</time></span><div class='quote '>один за другим, или строго первое из оставшихся в списке?</div></div><br>
не понял вопроса. Можно взять только самое первое число. Но И1 может не брать вообще числе или 1 раз за игру взять 2 (крайних) числа.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888783'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T16:10:25+00:00">28.03.23, 16:10</time></span><div class='quote '>1 - это &quot;одно число&quot; или &quot;первое число из оставшихся в списке&quot;? </div></div><br>
первое в оставшемся списке <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-03-28T16:45:10+00:00">28.03.23, 16:45</time></span></span><br>
Почитал про динамическое программирование (мне тут посоветовали) - голова опухла, много всяких умных формул, а я не математик. А что в универе было уже забыл за много лет:)<br>
Короче я сам дошел до решения за O(N). Вернулся к исследованию переборочного варианта (сперва я ушел не в ту сторону на метод ветвей и границ), заметил, что много повторных вычислений в узлах дерева. Решил переделать на поиск в глубину, это позволило дать возможность закэшировать результаты вычислений. Потом в процессе отладки до меня дошло, что по факту тут хвостовая рекурсия, которую можно развернуть:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">n = int(input(&#39;&#39;))</div><div class="code_line">v = [int(x) for x in input(&#39;&#39;).split()]</div><div class="code_line">r1 = [0] * (n + 3)</div><div class="code_line">r2 = [0] * (n + 3)</div><div class="code_line">r1[n - 1] = v[n - 1]</div><div class="code_line">r2[n - 1] = v[n - 1]</div><div class="code_line">for i in reversed(range(0, n - 1)):</div><div class="code_line">&nbsp;&nbsp; &nbsp;r1[i] = max(v[i] + r1[i + 2], r1[i + 1], v[i] + v[i + 1] + r2[i + 3])</div><div class="code_line">&nbsp;&nbsp; &nbsp;r2[i] = max(v[i] + r2[i + 2], r2[i + 1])</div><div class="code_line">print(r1[0])</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Проходит все тесты макс. за 70мс при допустимой 1 сек. С этой задачей мне попросил помочь знакомый студент. Лично мое мнение - препод издевается.]]></description>
        <author>shm</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888783</guid>
        <pubDate>Tue, 28 Mar 2023 16:10:25 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888783</link>
        <description><![CDATA[Akina: Вот вроде элементарно всё... но чем дальше читаешь пояснения, тем больше убеждаешься, что на самом деле поставленная задача очень слабо связана с тем, что написано в вопросе. Слова вроде правильные, но вот расставлены они чёрт те как...<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888749'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>shm &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T11:50:59+00:00">28.03.23, 11:50</time></span><div class='quote '>два игрока И1 и И2, которые последовательно берут по числу</div></div><br>
Последовательно - это как? один за другим, или строго первое из оставшихся в списке?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888749'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>shm &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T11:50:59+00:00">28.03.23, 11:50</time></span><div class='quote '>И2 играет всегда &quot;глупо&quot; - берет 1 число на своем на своем ходу.</div></div><br>
1 - это &quot;одно число&quot; или &quot;первое число из оставшихся в списке&quot;?]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888767</guid>
        <pubDate>Tue, 28 Mar 2023 12:38:07 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888767</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888764'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:31:32+00:00">28.03.23, 12:31</time></span><div class='quote '>81 71 69 63 54 35 28 12 5</div></div><br>
= 262 &lt; 320<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888764'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:31:32+00:00">28.03.23, 12:31</time></span><div class='quote '>вот сумма для И1, если И2 будет макс. мешать... </div></div><br>
 :wall:]]></description>
        <author>shm</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888764</guid>
        <pubDate>Tue, 28 Mar 2023 12:31:32 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888764</link>
        <description><![CDATA[FasterHarder: A= [69 81 71 18 35 28 12 63 5 54]<br>
<span class="tag-color tag-color-named" data-value="red" style="color: red">81 71</span> 69 <span class="tag-color tag-color-named" data-value="red" style="color: red">63</span> 54 <span class="tag-color tag-color-named" data-value="red" style="color: red">35</span> 28 <span class="tag-color tag-color-named" data-value="red" style="color: red">12</span> 5<br>
<br>
вот сумма для И1, если И2 будет макс. мешать... <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-03-28T12:34:25+00:00">28.03.23, 12:34</time></span></span><br>
почему это слева И2 должен брать - перед ним список всех чисел<br>
И1 отдавать слева числа, а для и2 - справа ( там минимумы )<br>
<br>
короче все]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888762</guid>
        <pubDate>Tue, 28 Mar 2023 12:29:34 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888762</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888761'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:28:29+00:00">28.03.23, 12:28</time></span><div class='quote '>кто тебе сказал, что И2 отдаст число 63)<br>
вообще понятие &quot;глупый ход&quot; как бы не формализован</div></div><br>
И2 всегда забирает крайнее левое число на своем ходу. Куда ж формальнее? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-03-28T12:30:09+00:00">28.03.23, 12:30</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888761'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:28:29+00:00">28.03.23, 12:28</time></span><div class='quote '>в играх задача любого игрока помешать другому победить, поэтому каждый будет стараться делать выигрышный ход или по крайней мере ход, максимально мешающий победе соперника<br>
</div></div><br>
Тут такие условия. Свои условия придумывать не надо.]]></description>
        <author>shm</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888761</guid>
        <pubDate>Tue, 28 Mar 2023 12:28:29 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888761</link>
        <description><![CDATA[FasterHarder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888760'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>shm &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:20:37+00:00">28.03.23, 12:20</time></span><div class='quote '> Приложи, плз, полный результат, который удовлетворяет условию и дает 320 в сумме.</div></div><br>
кто тебе сказал, что И2 отдаст число 63)<br>
вообще понятие &quot;глупый ход&quot; как бы не формализован<br>
<br>
в играх задача любого игрока помешать другому победить, поэтому каждый будет стараться делать выигрышный ход или по крайней мере ход, максимально мешающий победе соперника<br>
<br>
если И2 берет число НА РАНДОМЕ, то макс. сумма для И1 будет меняться...]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888760</guid>
        <pubDate>Tue, 28 Mar 2023 12:20:37 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888760</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888759'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:17:02+00:00">28.03.23, 12:17</time></span><div class='quote '>опровергни</div></div><br>
Приложи, плз, полный результат, который удовлетворяет условию и дает 320 в сумме.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888759'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:17:02+00:00">28.03.23, 12:17</time></span><div class='quote '>зы: или сортировать НЕЛЬЗЯ и числа поступают ПО ОДНОМУ и сразу подвергаются обработке, то тогда, да, по-другому нужно </div></div><br>
Сортировать можно, весь список чисел известен заранее.]]></description>
        <author>shm</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888759</guid>
        <pubDate>Tue, 28 Mar 2023 12:17:02 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888759</link>
        <description><![CDATA[FasterHarder: A= [69 81 71 18 35 28 12 63 5 54]<br>
<br>
after sort<br>
<br>
A = [ 81, 71, 69, 63, ... ]<br>
И1 = 81 + 71 - first move<br>
И2 = 69 - first move<br>
<br>
опровергни<br>
<br>
зы: или сортировать НЕЛЬЗЯ и числа поступают ПО ОДНОМУ и сразу подвергаются обработке, то тогда, да, по-другому нужно]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888757</guid>
        <pubDate>Tue, 28 Mar 2023 12:11:59 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888757</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888752'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:07:11+00:00">28.03.23, 12:07</time></span><div class='quote '>И1 1ым ходом ВСЕГДА берет сходу 2 числа ( они макс. для всей посл. )</div></div><br>
Идея уже терпит неудачу для моего примера. Максимальные числа - 71 и 81, но если взять 71, то максимального результата не достичь. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-03-28T12:13:20+00:00">28.03.23, 12:13</time></span></span><br>
Более того, порядок чисел в этой игре важен. Если отсортировать массив, то будет другой результат на переборном алгоритме. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-03-28T12:13:39+00:00">28.03.23, 12:13</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=433975&view=findpost&p=3888752'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2023-03-28T12:07:11+00:00">28.03.23, 12:07</time></span><div class='quote '>2 идея: max - heap</div></div><br>
А можно более подробно?]]></description>
        <author>shm</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888752</guid>
        <pubDate>Tue, 28 Mar 2023 12:07:11 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888752</link>
        <description><![CDATA[FasterHarder: отсортировать по убыванию ( наибыстрейшей сортировкой )<br>И1 1ым ходом ВСЕГДА берет сходу 2 числа ( они макс. для всей посл. )<br>пропускать ход ведь смысла вроде нет ( если отр. чисел нет )<br>И затем И1 и И2 последовательно берут по порядку числа<br>-------------------<br>2 идея: max - heap<br><br>это так, навскидку, может и не проканает ничего из этого...]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888749</guid>
        <pubDate>Tue, 28 Mar 2023 11:50:59 +0000</pubDate>
        <title>Оптимальный алгоритм максимизации для игры</title>
        <link>https://forum.sources.ru/index.php?showtopic=433975&amp;view=findpost&amp;p=3888749</link>
        <description><![CDATA[shm: Игра довольно простая. Есть последовательность чисел A длины N, есть два игрока И1 и И2, которые последовательно берут по числу. Игроки ходят поочередно, но И1 начинает игру всегда первым. Смысл игры - набрать максимальную сумму чисел. И1 на своем ходу может взять 1 число или пропустить ход. Также один раз за всю игру И1 может взять 2 числа. И2 играет всегда &quot;глупо&quot; - берет 1 число на своем на своем ходу. Смысл задачи - просчитать максимально возможный выигрыш для И1.<br>
Пример:<br>
A= [<strong class='tag-b'>69</strong> 81 <strong class='tag-b'>71</strong> 18 <strong class='tag-b'>35</strong> <strong class='tag-b'>28</strong> 12 <strong class='tag-b'>63</strong> 5 <strong class='tag-b'>54</strong>]<br>
Жирным выделены числа, которые забрал И1. Результат - 320.<br>
Ограничения N &lt;= 10<sup class='tag-sup'>5</sup>, 0 &lt;= A<sub class='tag-sub'>i</sub> &lt;= 100<br>
<br>
Я потратил кучу времени на эту казалось бы простую задачу. Но лучше метода ветвей и границ ничего не придумал, но он не проходит по времени для больших N. Я думаю, что ограничения, которые наложены на числа тут неспроста и это надо использовать, но идей нет. Буду рад дельным советам.]]></description>
        <author>shm</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	