<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>EmK</author_name>
  <author_url>https://blog.hatena.ne.jp/EmK/</author_url>
  <blog_title>C♯の勉強</blog_title>
  <blog_url>https://emkcsharp.hatenablog.com/</blog_url>
  <categories>
    <anon>TopCoder</anon>
    <anon>Div2</anon>
    <anon>Div2Hard</anon>
  </categories>
  <description>どういう場合にパターン数が指数関数オーダーになるかというと、それは ある点に対して複数ループが存在する場合 という条件を満たすときになる。ループが１つしかない場合は、線形オーダーでしかパターンが増えないが、２つ以上ある場合はループで戻るたびに選択肢ができるため、指数関数的にパターンが増大することになる。よって、各点からスタートしてもとの点に戻るような経路が２つ以上ないかどうかを探索すればよい。 以下のコードでは、複数ループが存在するどうかの判定にベルマンフォード風の動的計画法を使っている。dp[i] := i にいる経路のパターン数ただし、そのまま適用するとループ２周目以降の経路も重複して数え…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Femkcsharp.hatenablog.com%2Fentry%2FSRM608%2FBigOEasy&quot; title=&quot;TopCoder SRM608: BigOEasy - C♯の勉強&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url></image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2014-02-15 10:50:32</published>
  <title>TopCoder SRM608: BigOEasy</title>
  <type>rich</type>
  <url>https://emkcsharp.hatenablog.com/entry/SRM608/BigOEasy</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
