<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://webp-hp.vercel.app//feed.xml" rel="self" type="application/atom+xml" /><link href="https://webp-hp.vercel.app//" rel="alternate" type="text/html" /><updated>2026-11-14T03:05:44+00:00</updated><id>https://webp-hp.vercel.app//feed.xml</id><title type="html">WebP</title><entry><title type="html">作った問題</title><link href="https://webp-hp.vercel.app//posts/problems/" rel="alternate" type="text/html" title="作った問題" /><published>2026-11-08T00:00:00+00:00</published><updated>2026-11-08T00:00:00+00:00</updated><id>https://webp-hp.vercel.app//posts/problems</id><content type="html" xml:base="https://webp-hp.vercel.app//posts/problems/"><![CDATA[<p>今後更新していく予定です。</p>

<h1 id="shortest-balanced-walk"><a href="https://www.share-oj.net/problems/2KUzmuryDSGPEGWsQzhtOM">Shortest Balanced Walk</a></h1>
<p>ShareOJ Lv.5</p>

<p>解法1を先に思いついたのですが、ほとんどの人が解法2で解いていたので、あとから解法2を追記しました。</p>

<p>解法2は未証明だったのですが、wasd314さんが証明してくださいました。</p>

<h2 id="類題">類題</h2>
<ul>
  <li><a href="https://atcoder.jp/contests/arc173/tasks/arc173_d">Bracket Walk</a> (AtCoder Difficulty: 2598)</li>
</ul>

<h1 id="painting-graph"><a href="https://www.share-oj.net/problems/39tGxpzDrKMDiCOou4ivM5">Painting Graph</a></h1>
<p>ShareOJ Lv.3</p>

<p>普通の問題です。</p>

<p>ABC-Cにちょうど良い感じ。</p>

<h2 id="類題-1">類題</h2>
<ul>
  <li><a href="https://atcoder.jp/contests/abc435/tasks/abc435_d">Reachablity Query 2</a> (AtCoder Difficulty: 568)</li>
</ul>

<h1 id="existence-of-rooted-tree"><a href="https://www.share-oj.net/problems/5Jg3MdPTJa9bq8WElOT7hH">Existence of Rooted Tree</a></h1>
<p>ShareOJ Lv.3</p>

<p>もともとは、こういう感じの問題でした。</p>
<blockquote>
  <p>箱 $X,Y$ がある。
箱 $X$ には $N$ 枚のカードが入っていて、$i$ 枚目のカードには整数 $A_i$ が書かれている。
箱 $Y$ には $1$ が書かれたカードが $1$ 枚入っている。</p>

  <p>箱 $Y$ からカードを $1$ 枚取り出して、そこに書かれた整数の枚数だけ箱 $X$ からカードを取り出して、最初に箱 $Y$ から取り出したカードとともに捨てることを繰り返す。</p>

  <p>すべてのカードを捨てることができるか判定せよ。</p>
</blockquote>

<p>解き方は変わりません。</p>

<h2 id="類題-2">類題</h2>
<p>特になし</p>

<h1 id="odd-and-even-walk"><a href="https://www.share-oj.net/problems/5whIlbXrEvijOjuec4cNT8">Odd and Even Walk</a></h1>
<p>ShareOJ Lv.3</p>

<p>ABC-Cにちょうど良い感じ</p>

<p>あまり面白くはないと思う</p>]]></content><author><name></name></author><category term="競技プログラミング" /><summary type="html"><![CDATA[今後更新していく予定です。]]></summary></entry><entry><title type="html">テスト</title><link href="https://webp-hp.vercel.app//posts/test/" rel="alternate" type="text/html" title="テスト" /><published>2026-11-04T00:00:00+00:00</published><updated>2026-11-04T00:00:00+00:00</updated><id>https://webp-hp.vercel.app//posts/test</id><content type="html" xml:base="https://webp-hp.vercel.app//posts/test/"><![CDATA[<h1 id="見出し">見出し</h1>

<p>ChatGPT にホームページを作らせました！</p>

<p>色々書けます！</p>

\[\frac{1}{\pi} = \frac{2\sqrt{2}}{99^2} \sum_{n=0}^{\infty} \frac{(4n)!(1103+26390n)}{(4^n 99^n n!)^4}\]

<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#include</span> <span class="cpf">&lt;iostream&gt;</span><span class="cp">
</span><span class="k">using</span> <span class="k">namespace</span> <span class="n">std</span><span class="p">;</span>

<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
  <span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">"Hello, World!"</span> <span class="o">&lt;&lt;</span> <span class="n">endl</span><span class="p">;</span>
  <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>]]></content><author><name></name></author><summary type="html"><![CDATA[見出し]]></summary></entry><entry><title type="html">AtCoderで入緑しました！</title><link href="https://webp-hp.vercel.app//posts/green/" rel="alternate" type="text/html" title="AtCoderで入緑しました！" /><published>2026-07-12T00:00:00+00:00</published><updated>2026-07-12T00:00:00+00:00</updated><id>https://webp-hp.vercel.app//posts/green</id><content type="html" xml:base="https://webp-hp.vercel.app//posts/green/"><![CDATA[<p><a href="https://qiita.com/WebP/items/e57e661b4131a074a8e2">(Qiita より転載)</a></p>

<h1 id="はじめに">はじめに</h1>

<p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/f41d9bd3-eb50-42ee-967f-a8f7587069c0.png" alt="スクリーンショット 2026-07-12 141037.png" /></p>

<p>ABC466で緑色コーダーになることができたので、これまでに取り組んできたことについて書こうと思います。</p>

<h1 id="自己紹介">自己紹介</h1>

<p>中学1年生の2月に競技プログラミングを始め、現在は中学2年生です。</p>

<p>以前、入茶記事も書きました。</p>

<p><a href="/posts/brown/">AtCoderで入茶しました！</a></p>

<h1 id="記録">記録</h1>
<p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/1e39f566-f61e-423b-bd2f-c8e6cdb3a8ff.png" alt="スクリーンショット 2026-07-12 140238.png" /></p>

<p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/9c154dcc-a482-44da-b5e6-c60729b858f5.png" alt="スクリーンショット 2026-07-12 140200.png" /></p>

<p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/c651dd34-219f-40af-9745-6202fb518fda.jpeg" alt="Cy8sL3333HebNmwcvLy kp6efT4UnIiI.jpg" /></p>

<p>（<a href="https://atcoder-graphs.vercel.app/#contributorGraph">AtCoder Graphs</a>で作成）</p>

<h1 id="入緑までにやったこと">入緑までにやったこと</h1>

<h2 id="abc過去問">ABC過去問</h2>

<p>入緑までの精進のほとんどはこれです。AtCoder ProblemsでDifficultyが茶色以上のC・D問題を中心に解きました。E問題も少し解きましたが、緑を目指す段階では必須ではないと思っています。</p>

<p>私は量を重視して取り組みましたが、正直なところ、人によって適した勉強法はまったく異なります。また、すべての人に当てはまる最適な方法が存在するとも限りません。自分に合った方法で進めるのが一番だと思います。</p>

<p>少なくとも私の場合は、緑コーダーになるためにはこの方法で十分でした。</p>

<h2 id="joi過去問">JOI過去問</h2>

<p>気が向いたときに解いています。</p>

<p><a href="https://docs.google.com/spreadsheets/d/1zXDtkFmskO5NSxkqck8uDbcJtAhTVZtzPh2hLw64Sw4/edit?gid=0#gid=0">非公式難易度表</a><sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>の難易度が低い順に解き進めていますが、まだそれほど多くは埋まっていません。</p>

<p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/a32e423e-eff1-4636-95a9-40c1cc020a8f.png" alt="image.png" /></p>

<h2 id="過去問精選100問">過去問精選100問</h2>

<p>E869120さんの以下の記事で紹介されている「過去問精選100問」を解きました。</p>

<p><a href="https://qiita.com/e869120/items/eb50fdaece12be418faa">レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編：目指せ水色コーダー！】
</a></p>

<p>入茶記事でも紹介した<a href="https://book.mynavi.jp/ec/products/detail/id=131288">鉄則本</a>などアルゴリズムを学んでも、コンテストで活用できなければ意味がありません。</p>

<p>この記事では、それぞれのアルゴリズムを用いる典型的な問題が紹介されており、アルゴリズムの実践的な練習に適しています。</p>

<p>タイトルには「目指せ水色コーダー！」とありますが、茶色の段階から解き始めてもまったく問題ないと思います。分からない問題があれば後回しにしましょう。</p>

<h2 id="aoj登録">AOJ登録</h2>

<p>過去問精選100問にAOJの問題が含まれていたため登録しました。</p>

<p>ICPCの過去問などのジャッジがあります。</p>

<p><a href="https://onlinejudge.u-aizu.ac.jp/services/ice/">Aizu Online Judge</a></p>

<h2 id="codeforces登録">Codeforces登録</h2>

<p>世界最大級の競技プログラミングサイトです。</p>

<p>登録はしたものの、まだコンテストには参加できていません。</p>

<p><a href="https://codeforces.com">Codeforces</a></p>

<h2 id="解いた問題の記録">解いた問題の記録</h2>

<p>これまではExcelで管理していましたが、現在はNotionに移行しました。</p>

<p><a href="https://www.notion.com/ja">Notion</a></p>

<p>CSV ファイルをインポートできるので移行自体はそれほど大変ではありませんでしたが、文字コードを UTF-8 に変換する必要がありました。</p>

<p>▽ タグを付けて管理しています。</p>

<p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/5efda88c-0ca2-49c4-b83f-f080b469257c.png" alt="image.png" /></p>

<h1 id="まとめ">まとめ</h1>

<p>（私の場合は）<strong>とにかくABCのC・D問題を数多く解くこと</strong>で緑コーダーになることができました。</p>

<p>緑を目指すなら、まずは ABC で安定して 4 完することが目標になると思います。多くの問題を解き、実装力やアルゴリズムへの理解を深めていきましょう。</p>

<h1 id="atcoder-clans">AtCoder Clans</h1>

<p>使っているツールを一つひとつ紹介するのも大変なので、AtCoder Clansというサイトを紹介します。</p>

<p><a href="https://kato-hiro.github.io/AtCoderClans/">AtCoder Clans</a></p>

<p>ユーザースクリプトやブラウザ拡張機能はもちろん、便利な Web サイトまで幅広く掲載されています。色変記事のカテゴリーもあり、なんと私の入茶記事も掲載されています。</p>

<p>CLI環境を整備すると競技プログラミングがさらに快適になるので、おすすめです。</p>

<h1 id="おわりに">おわりに</h1>

<p>次は水色コーダーになれるよう頑張ります。</p>

<p>ここまでお読みいただき、ありがとうございました！</p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>公開されているスプレッドシートで、投票によってJOIの問題に難易度が付けられている。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name></name></author><category term="競技プログラミング" /><category term="AtCoder" /><summary type="html"><![CDATA[(Qiita より転載)]]></summary></entry><entry><title type="html">AtCoderで入茶しました！</title><link href="https://webp-hp.vercel.app//posts/brown/" rel="alternate" type="text/html" title="AtCoderで入茶しました！" /><published>2026-04-12T00:00:00+00:00</published><updated>2026-04-12T00:00:00+00:00</updated><id>https://webp-hp.vercel.app//posts/brown</id><content type="html" xml:base="https://webp-hp.vercel.app//posts/brown/"><![CDATA[<p><a href="https://qiita.com/WebP/items/fdd39cdb7a66a7ee1260">(Qiita より転載)</a></p>

<h1 id="はじめに">はじめに</h1>
<p>私は今回のABC453でレーティングが茶色に到達しました。記事投稿の練習もかねて、入茶までにしたことをまとめましたので、拙文で恐縮ですがぜひ参考にしていただければと思います。</p>

<h1 id="自己紹介">自己紹介</h1>
<p>現在中学2年生です。競技プログラミングは中1の2月に始めました。比較的得意な教科は国語で、数学はある程度できますが得意なわけではありません。</p>

<p><a href="https://atcoder.jp/users/WebP">AtCoderマイページはこちら</a></p>

<h1 id="現状">現状</h1>
<p>入茶時 (ABC453終了時) のレーティングです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/7f134c77-774a-40c9-9433-3f3c80e4a97a.png" alt="スクリーンショット 2026-04-12 164807.png" /></p>

<hr />
<p>パフォーマンスの寄与度です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/7838c0a8-f374-4241-a6ef-a11b8f682ce3.jpeg" alt="pnHPOcbppAAAAAICTREAHAAAAAMAFvE4.jpg" /></p>

<hr />
<p>ABC過去問の取り組み状況です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/0612cdfa-34c3-4c49-a54f-878418d0155f.png" alt="スクリーンショット 2026-04-12 205249.png" /></p>

<h1 id="入茶までにしたこと">入茶までにしたこと</h1>
<p>主にしたことは、</p>
<ol>
  <li>言語の習得</li>
  <li>過去問の取り組み</li>
  <li>アルゴリズムの習得
の3つです。それぞれ詳しく説明します。</li>
</ol>

<h2 id="言語の習得">言語の習得</h2>
<p>学習する言語はC++を選択しました。理由はAPG4bで競技プログラミングに使用する言語としておすすめされていたからです。A問題やB問題の早解きに役立つかと思ってPythonにも手を付けてみましたが、C++を学んだあとではコードが理解できず、結局現在もC++を使っています。</p>

<h3 id="atcoder-programming-guide-for-beginners-apg4b">AtCoder Programming Guide for beginners (APG4b)</h3>
<p>AtCoderが提供している学習コンテンツで、C++/Pythonについて非常にわかりやすく解説されています。私はC++版に取り組みました。ただ、第3章以降の内容は難解だったために<a href="https://atcoder.jp/contests/APG4b/tasks/APG4b_aa">3.03.STLのコンテナ</a>までをやって次に移りました。この単元は非常に重要なので、これ以前で読むのを中断した人も、目を通すと良いでしょう。</p>

<h3 id="過去問精選10問">過去問精選10問</h3>
<p>APG4bを途中まで読んだら、APG4bと同時並行でけんちょんさんが書いた次の記事を読みました。</p>

<p><a href="https://qiita.com/drken/items/fd4e5e3630d0f5859067">AtCoder に登録したら次にやること ～ これだけ解けば十分闘える！過去問精選 10 問 ～</a></p>

<p>初めはまったく解けませんでしたので、ほとんどの問題で解説を先に読みました。この記事では、最も基礎的なアルゴリズムである全探索を学ぶことができました。全探索はABCのB問題で頻出なので、最初に学ぶべきアルゴリズムといえます。私が初参加したコンテストであるABC444でもB問題に全探索を使うものが出ましたので、正解することができました。</p>

<h2 id="過去問の取り組み">過去問の取り組み</h2>
<p>自分はABC212 (8問制の開始) 以降のB問題と簡単なC問題をひたすら解いていました。数分考えても解法が分からないときは解説動画を見ていました。C問題を解けるようになるのにかなり苦労しましたが、何問も解いていると簡単なものなら解けるようになりました。始めたばかりのうちは、とにかく問題になれることが重要だと思います。</p>

<p>難易度の参考にしていたのは<a href="https://kenkoooo.com/atcoder/#/table/">AtCoder Problems</a>で、コンテスト中の提出者から難易度が推定されています<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>。ただ、実際に解く際の難易度とは必ずしも合致しないため、問題内容からグレードをつけている<a href="https://atcoder-novisteps.vercel.app">AtCoder Novisteps</a>を利用する方が良いかもしれません。</p>

<p>始めたときは、多いときで15問程度、解かない日もありましたが、春休みに入って1日10問を解くことにして取り組んだため一気に取り組み量が増えました。現在はC問題と簡単なD問題を埋めています。</p>

<p>解いた問題はExcelに記録していて、解いた日、AtCoder ProblemsのDifficulty、解法と検索用のキーワードをまとめています。</p>

<p>▽Excelシートの一部
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4357238/1e54b818-2050-4a66-ab1c-371003064d63.png" alt="スクリーンショット 2026-04-12 174305.png" /></p>

<h2 id="アルゴリズムの習得">アルゴリズムの習得</h2>
<p>ABCのC問題以降を解くには全探索より効率的なアルゴリズムを学ぶ必要があります。私は米田優峻さん (AtCoder：E869120) の『競技プログラミングの鉄則』(鉄則本)という書籍を購入して読み進めました。図が多くてわかりやすく、二分探索からダイクストラ法まで幅広いアルゴリズムを扱っていて、アルゴリズムを習得するならおそらくこの本が最適でしょう。</p>

<iframe src="https://book.mynavi.jp/ec_products_detail_html/id=131288" frameborder="0" width="220" height="250" scrolling="yes"></iframe>

<p>購入を検討している方は、<a href="https://www.dropbox.com/scl/fi/25926ysr4632w3iw2gqes/_.pdf?rlkey=pys9u2w5qsyuvr8wp58slae9s&amp;e=1&amp;dl=0">こちら</a>で一部が公開されているため、目を通してみましょう。</p>

<p>現在習得したアルゴリズムを挙げます。(使いこなせるというわけではないです)</p>
<ul>
  <li>全探索・順列全探索・bit全探索</li>
  <li>累積和・いもす法</li>
  <li>二分探索・答えで二分探索</li>
  <li>ナップザックDP・LCS・区間DP・bitDP</li>
  <li>DFS・BFS・ダイクストラ法・Union-Find</li>
  <li>ランレングス圧縮</li>
</ul>

<h1 id="使用したツール">使用したツール</h1>

<h2 id="comfortable-atcoder"><a href="https://chromewebstore.google.com/detail/comfortable-atcoder/ipmmkccdccnephfilbjdnmnfcbopbpaj">Comfortable Atcoder</a></h2>

<p>chrome拡張機能で、提出結果を通知する機能があり、コンテスト中に非常に便利なので愛用しています。(2026/4現在は利用できますが、今後利用できなくなる可能性があります。)</p>

<p>(2025/4/13追記)新規のインストールはできないようです。代替として、拡張機能の<a href="https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo">Tampermonkey</a>をインストールし、ユーザースクリプトの<a href="https://greasyfork.org/ja/scripts/371225-atcoderresultnotifier">AtCoderResultNotifier</a>を入れると提出結果の通知が利用できるようです。</p>

<p>(2026/4/26追記)Chromeでは新規のインストールができないことを確認しました。Chrome系ブラウザのひとつであるEdge/Vivaldiでは新規のインストールができることを確認しました。</p>

<h2 id="atcoder-rating-estimator"><a href="https://atcoder-rating-estimator.pages.dev">AtCoder Rating Estimator</a></h2>
<p>パフォーマンスとレート変動の関係をグラフにするツールです。私はコンテスト前に確認して参考にしています。</p>

<h2 id="atcoder-graphs"><a href="https://atcoder-graphs.vercel.app/#contributorGraph">AtCoder Graphs</a></h2>
<p>レートにどのコンテストのパフォーマンスがどれだけ影響しているかをグラフにします。</p>

<h2 id="obs-studio"><a href="https://obsproject.com/ja/download&quot;">OBS Studio</a></h2>
<p>配信などにもよく用いられているフリーソフトです。私はコンテスト中のブラウザとエディタを録画し、コンテスト終了後に見返して参考にしています。</p>

<h1 id="おわりに">おわりに</h1>
<p>お読みいただきありがとうございました。これからもより高いレートを目指して精進しようと思っています。誤りの指摘もお願いいたします。</p>

<p>(2026/8/10追記)
入緑しましたのでぜひこちらも合わせてお読みください。</p>

<p><a href="/posts/green/">AtCoderで入緑しました！</a></p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p><a href="https://pepsin-amylase.hatenablog.com/entry/atcoder-problems-difficulty">こちらの記事</a>に詳しい記述があります。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name></name></author><category term="競技プログラミング" /><category term="AtCoder" /><summary type="html"><![CDATA[(Qiita より転載)]]></summary></entry></feed>