競プロ
基本問題 タイトルからしてアプローチがもろネタバレなのだが、今回は答えで二分探索をするらしい。 atcoder.jp この問題の場合、答えの制約として 1 <= K <= 109 があるので、この範囲を探索すればいい。線形探索だとO(NK)となり間に合わないが、二分探索な…
3章では二分探索がテーマ。まずは一番シンプルな二分探索の問題から。 atcoder.jp 回答コード #include <bits/stdc++.h> using namespace std; #define dump(x) cout << #x << " = " << (x) << endl; #define REP(i, n) for (ll i = 0; i < (n); i++) #define ITOC(n) (cha</bits/stdc++.h>…
この記事は深い後悔と、自責と、自戒の念を込めた記事です。何が言いたいか、一度やると決めたことは"一日たりとも"欠かすべきではないということです。私だってこんな自己啓発本の23ページ目みたいなことは書きたくありません。でも、あまりの自分の不甲斐…
最近知ったTipsを共有します。競プロのためだけに理解の浅いC++を使っている私ですが、最近になってmap, setで最小値、最大値を一発で取得する方法があることを知りました。というか、そもそもこれらにデータを入れると勝手にソートしてくれてるので、最小値…
数弱で解説を見てもよく分からなかったのですが、なんとかACできたので考え方を残しておきます。 問題 自分の回答 考え方 コード解説 感想 問題 atcoder.jp 自分の回答 int main(void){ ll N;cin>>N; map<ll,vector<ll>> MP; REP(i, N) { string s;cin>>s; REP(j, 10) { MP</ll,vector<ll>…
競プロで順列に関する操作を行いたい時があります。例えば与えられた数字から作れる順列を列挙しろ、みたいな問題です。そんな時、C++ではnext_permutationという便利な関数があります。 使い方 動作 注意点 計算量 next_permutationが使える例題 使い方 ま…
今週の競プロ活動を振り返ります。前回の記事を見ると今週の目標として以下を挙げていました。 ABC参加 難易度Easyの問題を10問解く。 アルゴ式のグラフアルゴリズムの章(1,2章)を受講する。 algo-method.com 先週、今週のC問題に挑戦 C - Path Graph? C - D…
今週の競プロ活動の振り返りを行います。 やったこと ABC参加 2完、519の茶パフォでした。 atcoder.jp 灰diff7問解く Atcoder Problemsのrecommendationから、カテゴリがEasyの問題を7問解きました。 振り返り 灰色と茶色をうろうろする日々が続いています。…