おじさんの競プロ記録

自分の力で解答できた問題を振り返り、理解を深めたいです。

2020-10-01から1ヶ月間の記事一覧

AtCoder Beginner Contest 047 C - 一次元リバーシ

問題 問題文へ BかWの並んだ文字列が与えられます。 オセロの要領で先頭か末尾に文字をつけたして、すべて同じ文字にします。 最小で何文字付け加えればよいでしょうか。 制約 1 |S| Sに含まれる文字は'B'または'W'のいずれかである 考えたこと 先頭の文字を…

CODE FESTIVAL 2014 決勝 C - N進数

問題 問題文へ 10以上の整数Nで、N進数でNとなる数字をf(N)とします。 f(23)は、2*23+3=49 この49にあたるのが、入力Aです。10以上の整数からf(k)となるkを出力します。kが存在しない場合は-1を出力します。 制約 1 A 考えたこと Aが最大値でも、kは10000な…

AtCoder Regular Contest 051 A - 塗り絵

問題 問題文へ 中心()半径rの赤い円と、横の辺が縦の辺がの青い四角形があります。重なった部分は紫色になります。 赤い部分があれば1行目にYESで無ければNO、青い部分があれば2行目にYES無ければNOを出力します。 制約 -100 100 -100 x_2 < x_3 100 -100…

AtCoder Grand Contest 011 A - Airport Bus

問題について考えたこと 問題文へ N人を、定員Cのバスに乗せます。Tiに到着し、K以内に乗せないといけません。 到着時間Tiはサンプルから、昇順に与えられないことがわかるのでソートしました。 最初に到着した人を乗せ、K以内に到着した人を定員Cまで乗せま…

AtCoder Regular Contest 106 A - 106

問題について考えたこと 問題文へ 3+5=Nをを満たす正の整数の組(A,B)を求めます。 A、B共に正の整数であることから、0を含みません。累乗なのですべてを確認しても実効時間制限に間に合うと判断しました。 #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespac</bits/stdc++.h>…

AtCoder Regular Contest 054 A - 動く歩道

問題について考えたこと 問題文へ 時計回りと反時計回りの両方を計算して、比較することにしました。 動く歩道なので、高橋君の移動速度YがXを上回らないと反時計回りはできません。 移動距離もSとDの大小関係と移動方向で計算しました。 #define _GIBCXX_DE…

AtCoder Grand Contest 008 A - Simple Calculator

問題について考えたこと 問題文へ 数直線上の、xとyの位置で分岐して処理をしたました。 xは正の方向にしか進めません。解説のようにするのが正しいです。 #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (n)</bits/stdc++.h>…

AtCoder Beginner Contest 041 C - 背の順

問題について考えたこと 問題文へ 出席番号と身長をセットにして、身長で降順にソートして出力。 pairをソートする際は、firstから比べることと同じ身長はいないことから、firstに身長を入れました。 #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; </bits/stdc++.h>…

AtCoder Regular Contest 082 C - Good Sequence

問題について考えたこと 問題文へ 正の整数列aを良い数列にするためには、要素が3ならば個数を3にする。取り除いた数の合計の最小値を求めよ。 このことから、整数ごとに個数を数えるためunordered_mapを使用しました。aiが最大でなので配列ではメモリを多く…

CODE FESTIVAL 2014 予選A C - 2月29日

問題について考えたこと 問題文へ 入力が と非常に大きいことから、ループによる計算はやめました。 AとBのそれぞれの個数を計算して、BからAを引く。その際はAがちょうどうるう年である時に気をつけます。 #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespace</bits/stdc++.h>…

CODE FESTIVAL 2015 予選B C - 旅館

問題について考えたこと 問題文へ 各予約の人数と各部屋の定員が共にであるため、予約毎に部屋があるか調べても間に合うと考えました。 一つの部屋に一つの予約、予約人数<=部屋の定員であることから、人数の多い予約から調べる事としました。 #define _GIBC…

AtCoder Beginner Contest 040 B - □□□□□

問題について考えたこと 問題文へ 制約が1<=n<=10000より、一つずつ調べてもTLEにならなそうということ。 1メートル四方のタイルなので、整数の乗算除算で解けそうなこと。 使わずに余るタイルの枚数という所から、使い切っているかなどの判定も要らないと考…

AtCoder Regular Contest 105 B - MAX-=min

問題文について考えたこと 問題文へ 最大値と最小値が等しくなった時の値を求める問題と考えました。 最大値から最小値を引くので、最小値が更新される可能性に気を付けました。例えば、最大値5から最小値3を引いた場合などです。 手続きの2より、変更の際…

HHKB プログラミングコンテスト 2020 C - Neq Min

問題文について考えたこと 問題文へ 0以上の整数でp1からpiのいずれとも等しくない値ということから、i-1までに使用された整数を保存しておこうと考えました。 #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i <</bits/stdc++.h>…

AtCoder Regular Contest 104 B - DNA Sequence

問題について考えたこと 問題文 Aに対してTのある文字列というだけでなく、 もとの文字列を並び替えた文字列ということから AとTが同じ数、CとGが同じ数ならよいのではと考えました。 部分文字列については、0文字目から最後まで1文字ずつずらす、 1文字…