ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

2018-09-25から1日間の記事一覧

AOJ 3047 - Shiritori

問題 提出コード 解法 ある文字が最後の1文字となるには、ある文字が先頭となっている単語をすべて使い切った上で、その文字が最後の文字となっている単語にいきつくことが必要になります。 a~zまでの文字をそれぞれ頂点としたグラフを考えます。すべての単…

AOJ 3043 - Donut Hole

問題 提出コード 解法 まず、求める直線はすべて原点を通ります。ので、もともとあったドーナツは、その直線によって常に半分に切り分けられます。 ということは、1日目に食べた部分を2等分するような直線が、求める直線になります。 1日目に食べた部分は常…

AOJ 2040 - U&U

問題 提出コード 解法 (先に解説を見ています) 片方のチームの人数を最速で0人にしたいので、 負けるチームはどんどん人数を減らす 勝つチームはできるだけ生き残って攻撃回数を残す というようにすればよいです。 これは、勝つチームと負けるチームの選択肢…

AOJ 2900 - 凸凹数列

問題 提出コード 解法 半分ぐらい貪欲です。 前から貪欲に、凹凸がズレていたら操作、ということを行うだけで条件を満たす数列を作成できます。 なので、最大でも数字の個数分の回数しか操作を行うことはありません。 ということで、基本的には貪欲に操作を…

AOJ 2897 - 直角三角形

問題 提出コード 解法 この問題は先に解説を聞いてしまっていたので自力で答えを求めたわけではありません… 制約を見ると、A

ABC110 D - Factorization

問題 提出コード 解法 まずは素因数分解をし、それぞれの素因数についていくつ使われているかをカウントします。 こちらの記事と似たようなことをします。 ~までを全探索し、がの約数である限りをで割り続け、その数をカウントしていきます。 探索後に、がま…

ABC110 C - String Transformation

問題 提出コード この問題、個人的にはD問題より難しかったです… 解法 Sの中から1つ文字を選択したとき、Sの中の同じ文字はすべて、置換後も同じ文字になってしまいます。そのため、S="aa"、T="bc"のようなものは答えがNoになります。 なので、Sの中である文…