#include <boost/multiprecision/cpp_dec_float.hpp> #include <boost/multiprecision/cpp_int.hpp> #include <iostream> namespace mp = boost::multiprecision; // 任意長整数型 using Bint = mp::cpp_int; // 仮数部が1024ビットの浮動小数点数型(TLEしたら小さくする) using Real = mp::number<mp::cpp_dec_float<512>>;
参考
https://qiita.com/tubo28/items/fa8ee013390184b0ba18
boostは入れるのが大変?
- VS Code + WSLでやっているのだが、いつからかboostのincludeが通らなくなった・・・
__int128
- 128bitで間に合いそうなら__int128という手もある
- AtCoderでは使えた
- 参考 https://kenkoooo.hatenablog.com/entry/2016/11/30/163533
- operator<<の定義も(<<を使うなら)必要らしいので一緒にコピペすること
__int128_tをAtCoderで使ってみた
- 提出 https://atcoder.jp/contests/agc044/submissions/14153753
- Visual Studio Codeの設定がイマイチなのか赤波が出る(下記画像)が、g++によるコンパイルは通る
- 出来たa.outが正しく動いていることを確認して、エイヤッと提出するとACする
- operatorの定義はなし。>>や<<を使う場合のみ、定義が必要なようだ
verified (__int128_t)
- C - AtCoDeerくんと選挙速報
codeforcesでも現在は使える様子
- https://codeforces.com/contest/1409/submission/95368617
- 使えないという過去の記事もあったが、今は使えた