SMU Autumn 2023 Div.1 コンテスト問題のアルゴリズム解説と実装
問題A:数値の置換と減少による合計値制御
配列の各要素に対して「任意の要素を1減算する」または「任意の要素を他の要素の値へコピーする」操作を繰り返し、配列総和を閾値K以下にするための最小操作回数を求める問題です。
効率的な解法は貪欲法と累積和の組み合わせです。まず配列を昇順ソートします。大きな値を直接減算するよりも、最小値へコピーした方が一度に合計 ...
6月25日 22:31 投稿
C#による中心起点型素数螺旋プロットの生成アルゴリズム
中心座標を原点とする二次元平面に自然数を螺旋状に展開し、素数の位置を可視化する処理を実装する際には、座標軌跡の制御ロジックと効率的な素数判定が鍵となります。以下に、標準ライブラリのみを使用して記述された実装例を示します。
素数判定の基礎となる関数は、試行除算を最適化しています。偶数および3の倍数を早期に除外し、5を起点として6刻みで剰余演算を行うこ ...
6月2日 16:44 投稿