競技プログラミング日記

主に AtCoder の記事です

2023-01-03から1日間の記事一覧

AtCoder Regular Contest 106B

ARC106B 連結成分毎に考えてよい. 連結なグラフで考えるとき,まずはtreeで考えるとよい. Spannig treeを用いて,treeの場合に帰着できるケースも多いし, まずtreeで解けないと,一般の場合は話にならない. また,操作の性質として,操作によって値の総…

AtCoder Regular Contest 108B

ARC108B fox の文字が全て異なっているので楽. s を先頭から調べていき,スタックに積んでいく. スタックの方で後ろ3文字がfoxになったら消せばよい. O(N)で解ける. 実装は,スタックでなくvector で行った. 使っている記号,マクロ等 "https://ecsmtli…

AtCoder Regular Contest 109B

ARC109B まででなく, と が入っているのが気になる. まず,丸太の買い方として,同じ値段なら長いほうが得. 言い換えると,短いほうで出来るなら,長いほうでも出来る, いわば上位互換. 上位互換の考えは,貪欲法を示すときによく使う. 大きい方から買…

AtCoder Regular Contest 110B

ARC110B 110をブロックと考えて分割する. 個のブロックに分ける. 実装を簡単にするため,110のブロックを 個並べた文字列 を用意する. のとき, の最初の3文字によって場合分けして考える. の形も,同じ形の繰り返しになり,最後に余った部分が出てくる…