yu/logs/*

技術メモ など

2023-06-01から1ヶ月間の記事一覧

AtCoder ABC144 C 解法メモ (Kotlinで)約数列挙したい

前に解いたような気がするけど忘れてしまってたのでメモ 解いていた問題 atcoder.jp 解法メモ 面積が記載されるので、i * j = n となるi, jの組み合わせはnの約数のいずれか 約数を列挙し、i+jが最小になる組み合わせを探す n <= 1012なので√nまで探索する約…

AtCoder ABC181 C 解法メモ 3点の座標が同一直線上に存在するか判定したい

覚えてなかったのでメモ 解いていた問題 atcoder.jp 解法メモ (y3 - y1) / (x3 - x1) = (y2 - y1) / (x2 - x1) で判定ができる(参考リンクより) 0除算が発生しないように、(y3 - y1) * (x2 - x1) = (y2 - y1) * (x3 - x1)と式変形するとよい(解説より)。なる…

AtCoder ABC185 C 解法メモ Kotlinで途中の値がLong(64Bit整数)型に収まらないような数式の計算をしたい(※階乗を用いた組み合わせの計算とか)

以前解いた似た問題*1の別アプローチがあったためメモ 解いていた問題 atcoder.jp 解法メモ 組み合わせの計算を愚直に行ってしまうと、今回の制約では200!というかなり大きな数字になってしまうため、Long型では正しく計算できない BigDecimal型で扱ってあげ…

BigQuery(GoogleSQL)でπを扱いたい

題の通りです。 BigQuery は、GoogleSQL とレガシー SQL の 2 つの SQL 言語をサポートしています。*1 とのことなのですが、GoogleSQLの方だとPI()が実装されていないようで、円周率を使った計算で少し手間取ったためメモを残します。 PIを代替する方法 ACOS…