多倍長(自分用メモ)C++ ~boost or __int128~

#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

__int128_tをAtCoderで使ってみた

f:id:peroon:20200610171303p:plain

  • 出来たa.outが正しく動いていることを確認して、エイヤッと提出するとACする
  • operatorの定義はなし。>>や<<を使う場合のみ、定義が必要なようだ

verified (__int128_t)

codeforcesでも現在は使える様子