Upgrade to Pro — share decks privately, control downloads, hide ads and more …

累積和で配列の処理効率を改善しよう

tokizo
June 22, 2022
400

 累積和で配列の処理効率を改善しよう

tokizo

June 22, 2022
Tweet

Transcript

  1. 問題設定 ・ ランニングアプリ
 ・ 日ごとの距離を管理 ・ A日からB日までの合計距離が知りたい 11 km 5

    km 0 km 0 km 7 km 0 km 10 km 15 km 1 km 4 km 0 km 2 km 1 km 7 km 11 km 13 km 0 km 3 km 0 km 0 km 1 km 4 km 2 km 6 km 3 km 5 km 4 km 2 km 2 km 12 km 0 km 2 km 1 km 0 km 2 km 0 km https://www.irasutoya.com/2019/12/blog-post_26.html
  2. 問題設定 ・ ランニングアプリ
 ・ 日ごとの距離を管理 ・ A日からB日までの合計距離が知りたい 11 km 5

    km 0 km 0 km 7 km 0 km 10 km 15 km 1 km 4 km 0 km 2 km 1 km 7 km 11 km 13 km 0 km 3 km 0 km 0 km 1 km 4 km 2 km 6 km 3 km 5 km 4 km 2 km 2 km 12 km 0 km 2 km 1 km 0 km 2 km 0 km https://www.irasutoya.com/2019/12/blog-post_26.html
  3. 問題設定 ・ ランニングアプリ
 ・ 日ごとの距離を管理 ・ A日からB日までの合計距離が知りたい 11 km 5

    km 0 km 0 km 7 km 0 km 10 km 15 km 1 km 4 km 0 km 2 km 1 km 7 km 11 km 13 km 0 km 3 km 0 km 0 km 1 km 4 km 2 km 6 km 3 km 5 km 4 km 2 km 2 km 12 km 15 km 0 km 2 km 1 km 0 km 2 km 0 km https://www.irasutoya.com/2019/12/blog-post_26.html
  4. 問題設定 ・ ランニングアプリ
 ・ 日ごとの距離を管理 ・ A日からB日までの合計距離が知りたい 11 km 5

    km 0 km 0 km 7 km 0 km 10 km 15 km 1 km 4 km 0 km 2 km 1 km 7 km 11 km 13 km 0 km 3 km 0 km 0 km 1 km 4 km 2 km 6 km 3 km 5 km 4 km 2 km 2 km 12 km 15 km = 12 + 0 + 2 + 1 0 km 2 km 1 km 0 km 2 km 0 km https://www.irasutoya.com/2019/12/blog-post_26.html
  5. 問題設定 ・ ランニングアプリ
 ・ 日ごとの距離を管理 ・ A日からB日までの合計距離が知りたい 11 km 5

    km 0 km 0 km 7 km 0 km 10 km 15 km 1 km 4 km 0 km 2 km 1 km 7 km 11 km 13 km 0 km 3 km 0 km 0 km 1 km 4 km 2 km 6 km 3 km 5 km 4 km 2 km 2 km 12 km 15 km = 12 + 0 + 2 + 1 0 km 2 km 1 km 0 km 2 km 0 km https://www.irasutoya.com/2019/12/blog-post_26.html
  6. 問題設定 ・ ランニングアプリ
 ・ 日ごとの距離を管理 ・ A日からB日までの合計距離が知りたい 11 km 5

    km 0 km 0 km 7 km 0 km 10 km 15 km 1 km 4 km 0 km 2 km 1 km 7 km 11 km 13 km 0 km 3 km 0 km 0 km 1 km 4 km 2 km 6 km 3 km 5 km 4 km 2 km 2 km 12 km 15 km = 12 + 0 + 2 + 1 0 km 2 km 1 km 0 km 2 km 0 km https://www.irasutoya.com/2019/12/blog-post_26.html 効率化したい!
  7. 累積和 / 前処理 3 4 5 6 2 7 1

    0 0 0 0 0 0 0 0 New !
  8. 累積和 / クエリ 3 5 4 6 2 7 1

    1 8 0 10 16 21 25 28 ↓この区間の総和を求めたい! (= 17)
  9. 累積和 / 処理 3 5 4 6 2 7 1

    1 8 0 10 16 21 25 28 ↓この区間の総和を求めたい! (= 17) 25 - 8 = 17