えびちゃんの日記

えびちゃん(競プロ)の日記です。

2019-09-01から1ヶ月間の記事一覧

C++ の違法識別子について

警察だ!(インターネット meme) 以下の正規表現で表される識別子は我々は勝手に使ってはいけません. 処理系に予約されています.コンパイラの内部利用や標準のヘッダ(<algorithm> とか)で使うためのものです. .*__.* _[A-Z].* _.*(グローバル名前空間のみ) 正規</algorithm>…

マクロについて

人々がマクロをめちゃ使ってるんですが,罠を理解してる人が多いとは思えないのでいくつか書きます. 定数定義 constexpr 使ってくれ〜. #define INFLL 1e18 int main() { ... if (x == INFLL) return puts("-1"), 0; } のようなコードは競プロでありがちで…

未定義動作は未定義動作だよという話

人々は未定義動作に多くを期待しがちではという気持ちがあるので書きます. まず「これこれは未定義動作です」と言ったとき,目に見えるやばいこと*1が発生するとは限らないです.「なんかうまくいく」とか「必ず実行時エラーになる」とかは保証されていませ…

std::lower_bound の罠について

どうやら罠らしいので書きます. 冷静に考えると、初心者の人はなんで set は要素の有無の判定が高速なのか、どのくらい高速か、などはわかってないはずで、そうなると、std::lower_bound で求めようとするとどうしてだめなのかがわからなくて当然という気が…

C++ の multiset の罠について

std::multiset の罠っぽい仕様と,その仕様なのが妥当だと思えそうな説明をするやつをします. 気が向き次第,別の罠や初心者向け tips も今後扱うと思います. 罠 以下の二つについて正しく答えられますか? erase std::multiset<int> ms; ms.insert(0); ms.inse</int>…

母関数のお勉強をしました

母関数のお勉強をいくらかしたので,わかった気になったことを自分用にまとめました. github.com もっと体系的にお勉強するべきではありそう. えびちゃんが今お勉強するべき内容はこれではなさそうな気もするね.

行列累乗なしで Fibonacci 数列を求める

(注意)たぶんネタ記事です.素直に行列累乗してください*1. 唐突なんですが,以下の式を \(10^9+9\) を法として計算してみましょう. (308495997 ** i - 691504013 ** i) * 723398404 Python にまかせます. >>> [(308495997 ** i - 691504013 ** i) * 72…

TTPC 2019 参加記

TTPC 2019 に参加してきました. atnd.org atcoder.jp Day 0 前日入りして晩ごはんを食べた後うたた寝してしまい,夜寝られなかったのでこどふぉをやっていました. Day 1 「Day 1」とか言って,"TTPC" は一日だけなんですけどね. 前日にこどふぉをやってい…