AtCoder Beginner Contest 363 解説:アルゴリズム設計と実装

問題A:数値間隔の算出 入力値 $R$ が属する百の位区間を特定し、その区間の上限値との差分を出力する問題です。条件分岐を用いる代わりに、整数除算による切り上げ演算の特性を活用することで、簡潔な式に変換可能です。 #include <iostream> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int current_rat ...

5月13日 15:46 投稿

桁の和がsとなるn桁の正整数の個数を求める

これは条件付きの正整数分割問題であり、直接的な計算式は存在しません。 小規模な場合は全探索が可能です。数百桁規模になると動的計画法が有効です。しかし数千桁規模では動的計画法でも数十分から数時間要します。さらに万桁規模になると、時間・空間的な制約によりPCでの計算は不可能になります。 「挿入法と包含排除原理の組み合わせ」が強力な手法です。 核心となる ...

5月12日 17:53 投稿