タグ

ブックマーク / qiita.com/drken (3)

  • 「998244353 で割ったあまり」の求め方を総特集! 〜 逆元から離散対数まで 〜 - Qiita

    1. なぜ 998244353 で割るのか? 最初はこのような設問を見るとぎょっとしてしまいますが、実はとても自然な問題設定です。 $998244353$ で割らないと、答えの桁数がとてつもなく大きくなってしまうことがあります。このとき以下のような問題が生じます: 多倍長整数がサポートされている言語とされていない言語とで有利不利が生じる 10000 桁にも及ぶような巨大な整数を扱うとなると計算時間が膨大にかかってしまう 1 番目の事情はプログラミングコンテストに特有のものと思えなくもないですが、2 番目の事情は切実です。整数の足し算や掛け算などを実施するとき、桁数があまりにも大きくなると桁数に応じた計算時間がかかってしまいます。実用的にもそのような巨大な整数を扱うときは、いくつかの素数で割ったあまりを計算しておいて、最後に中国剰余定理を適用して復元することも多いです。 なぜ 9982443

    「998244353 で割ったあまり」の求め方を総特集! 〜 逆元から離散対数まで 〜 - Qiita
  • AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita

    記事を終えた次は? AtCoder Beginners Selection を終えたら、AtCoder 上の過去問が AtCoder Problems に集大成されていますので、片っ端から埋めるような気持ちで精進していきましょう。記事の続編として AtCoder 版!蟻 (初級編) AtCoder 版!蟻 (中級編) AtCoder 版!蟻 (上級編) AtCoder 版!蟻 (発展的トピック編) も執筆しましたので参考にしていただけたらと思います。また、アルゴリズムとデータ構造に関するトピックを集大成した書籍として、 問題解決力を鍛える!アルゴリズムとデータ構造 (通称、けんちょん) を上梓しました。ぜひ読んでみてください。 1. AtCoder とは AtCoder は以下のコンテストサイトを運営しています。今後常に訪れることになるサイトです: AtCoder コンテスト

    AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita
  • ボードゲーム「共円」に学ぶ、ガウス整数 x + yi の世界 - Qiita

    2. 共円定石 メジャーなものから超マイナーなものまで、九路盤定石をすべて公開します!!! 定石 0: 自明パターン 比較的自明な場合として 一直線上 (ルール) 長方形 等脚台形 が挙げられます。いずれも共円であることが自明なパターンですが、このうち等脚台形については、斜め 45 度の等脚台形に注意が必要です。しばしば見逃してしまいます。 余談ですが「斜め 45 度じゃない等脚台形」も一応あります。例えば下図は確かに等脚台形になっています!3 定石 1: 八角形 続いてこれも比較的わかりやすい八角形定石です。内角がすべて $135$ 度になっていて、対称性から共円になることが明快です。しかし右図のように 4 点だけを取り出すと、意外と指摘が難しいことがわかると思います。このような共円をほぼ確実に避けられるようになると脱初心者と言えるでしょう! 八角形定石のサイズにはバリエーションがあり、

    ボードゲーム「共円」に学ぶ、ガウス整数 x + yi の世界 - Qiita
  • 1