おじさんの競プロ記録

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

ABC-C

AtCoder Beginner Contest 206 C - Swappable

問題 問題文へ N個の整数からなる数列が与えられるので、次の条件を全て満たす整数組の数を求めてください。 制約 入力は全て整数 考えたこと 制約から、全ての整数組を試すのでは間に合いません。ですが、一度それで考えてみて改善できるか確認してみます。…

AtCoder Beginner Contest 200 C - Ringo's Favorite Numbers 2

問題 問題文へ 200という整数が大好きなりんごさんのために、次の問題を解いてください。 N個の正整数からなる数列Aが与えられるので、以下の条件をすべて満たす整数の組(i,j)の個数を求めてください。 < 制約 入力は全て整数 考えたこと (i,j) = (1,3),(1,4…

AtCoder Beginner Contest 201 C - Secret Number

問題 問題文へ 高橋くんは、暗証番号を忘れてしまいました。暗証番号は0から9までの数字のみからなる4桁の文字列で、0から始まる場合もあります。 0から9までの各数字について、高橋くんは以下のように記憶しています。彼の記憶は長さ10の文字列によって表さ…

AtCoder Beginner Contest 196 C - Doubled

問題 問題文へ 整数Nが与えられます。 以下の条件を満たす1以上N以下の整数xは何個あるでしょうか? * xの十進表記(先頭に0を付けない)は偶数桁であり、その前半と後半は文字列として等しい。 制約 Nは整数 考えたこと 前半と後半にわけてそれぞれ作ってみ…

キャディプログラミングコンテスト2021(AtCoder Beginner Contest 193) C - Unexpressed

問題 問題文へ 整数Nが与えられます。1以上N以下の整数のうち、2以上の整数a,bを用いてと表せないものはいくつあるでしょうか? 制約 Nは整数 考えたこと bは2以上なので、まで調べればよいです。 コード #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespace s</bits/stdc++.h>…

SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) C - Kaprekar Number

問題 問題文へ 0以上の整数xに対して、を次のように定めます。 = xを10進法で表したときの各桁の数字を大きい順に並び替えてできる整数 = xを10進法で表したときの各桁の数字を小さい順に並び替えてできる整数 整数N,Kが与えられるので、で定まる数列のを求…

AtCoder Beginner Contest 188 C - ABC Tournament

問題 問題文へ 選手1から選手までの人の選手がトーナメント形式のプログラミング対決をします。 選手iのレートはです。どの2人の選手のレートも異なり、2人の選手が対戦すると常にレートが高いほうが勝ちます。 トーナメント票は完全二分木の形をしています…

AtCoder Beginner Contest 187 C - 1-SAT

問題 問題文へ N個の文字列が与えられます。各文字列は、英小文字からなる空でない文字列の先頭に!を0文字か1文字付加したものです。 文字列Tは先頭に!を0文字付加しても1文字付加してものいずれかに一致するとき、不満な文字列といいます。 不満な文字列が…

AtCoder Beginner Contest 186 C - Unlucky 7

問題 問題文へ 1以上N以下の整数のうち、10進法で表しても8進法で表しても7を含まないような数はいくつありますか? 制約 Nは整数である。 考えたこと 制約より、までならばすべてを確認しても間に合うと判断しました。8進法への変換方法は検索しました。 コ…

AtCoder Beginner Contest 064 C - Colorful Leaderboard

問題 問題文へ N人のAtCoderのレートが与えられます。レートごとに色を与えます。最小で何色、最大で何色必要かを求めます。 制約 考えたこと レート3200以上は自由に色を選べるため、処理を分けます。 レート1~3199は400で割れば0~7になるため、8個の配列に…

AtCoder Beginner Contest 183 C - Travel

問題 問題文へ N個の都市があります。各都市間の移動時間が与えられます。 都市1を出発し、すべての都市をちょうど1度ずつ訪問して都市1へ戻る経路のうち、移動時間の合計がちょうどKになるものの個数を答えてください。 制約 入力はすべて整数 考えたこと …

AtCoder Beginner Contest 037 C - 総和

問題 問題文へ 長さNの数列{}と1以上N以下の整数が与えられます。この数列には長さKの連続する部分がN-K+1個あります。これらのそれぞれ部分列に含まれる値の合計の総和を求めてください。 制約 は整数である。 考えたこと すべてのパターンを逐一足し算した…

AtCoder Beginner Contest 181 C - Collinearity

問題 問題文へ N個の点の中から、3点を選んで同一直線上にあるか調べてください。 制約 入力は整数 3 N , i jならば 考えたこと 恥ずかしながら、3点が同一直線上にあるかの判定は検索しました。 3点を選ぶ組み合わせは、それほど多くないのですべて調べれば…

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

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

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が最大でなので配列ではメモリを多く…