競技プログラミングを始めました
競技ブログラミングを始めました。
一昨日、AtCoderのAtCoder Beginner Contest 163に参加しました。
問題Eでdp問題(動的計画法)の問題が出てきました。
解けなかったので他の人の回答を見たところ、見たことないコードがたくさんあり驚きました。
競技プログラミングではコードを書く速度も重要であるため様々な省略コード?があることに驚きました。
chmax
というものがよくわかりません。
chmaxが分からない
これは競技プログラミングでは多くの人が利用するわしいのですがいまいち理解ができません。
最大値を出す関数らしいのですが、C++にはmax
という関数があるのになぜわざわざ作るのでしょうか?
戻り値の方がBoolなのも謎です。
引数についてる&
は型を推論しているのでしょうか?
champ
1template<typename T> bool chmax(T &m, const T q) { 2 if (m < q) {m = q; return true;} else return false; }
どこから持ってきたコードなのかURLを貼りましょうよ。
以下でしょうか。
C++入門 AtCoder Programming Guide for beginners (APG4b)
https://atcoder.jp/contests/apg4b/tasks/APG4b_ah
競技プログラミングでよく用いられる関数テンプレートとして、chmax/chminを紹介します。
回答3件
あなたの回答
tips
プレビュー