IJPC C解説
- 2. 直線𝑎𝑥 + 𝑏𝑦 = 𝑐と𝑥 = 0, 𝑦 = 0で囲まれた
領域に含まれる格子点に含まれる格子点
(𝑥, 𝑦)すべてに対する 𝑥+𝑦
𝑥
の和を求める
- 3. 直線𝑎𝑥 + 𝑏𝑦 = 𝑐と𝑥 = 0, 𝑦 = 0で囲まれた
領域に含まれる格子点に含まれる格子点
(𝑥, 𝑦)すべてに対する 𝑥+𝑦
𝑥
の和を求める
このようなクエリに𝑄個答える
- 4. 直線𝑎𝑥 + 𝑏𝑦 = 𝑐と𝑥 = 0, 𝑦 = 0で囲まれた
領域に含まれる格子点に含まれる格子点
(𝑥, 𝑦)すべてに対する 𝑥+𝑦
𝑥
の和を求める
このようなクエリに𝑄個答える
1 ≦ 𝑎, 𝑏, 𝑐 ≦ 10000 , 1 ≦ 𝑄 ≦ 1000000
- 10. よって、𝑎𝑥 + 𝑏𝑦 = 𝑡 となる格子点に書かれて
る数の和とは、すなわち、𝑎と𝑏を並べて合計
が𝑡になる方法が何通りあるかと一致する
これは簡単に動的計画法を行え、最後に並べ
るのが𝑎か𝑏かの二通りの場合分けで所望の漸
化式が得られる
- 14. よって、計算量 𝑂 𝑀 𝑆2
+
𝑀+𝑄
𝑆
これで、𝑆 = 3
𝑀 + 𝑄 とおくことで、十分間
に合う計算量となる