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

競プロ初心者会 | 累積和と全探索

Avatar for ngng628 ngng628
March 12, 2023

競プロ初心者会 | 累積和と全探索

累積和の復習と全探索の解説スライドです

Avatar for ngng628

ngng628

March 12, 2023
Tweet

More Decks by ngng628

Other Decks in Programming

Transcript

  1. | 3 1 4 1 5 9 2 6 5

    3 5 8 9 7 累積和とは A[l] + A[l + 1] + … + A[r-1] いつ使う? l r
  2. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 単位元
  3. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  4. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  5. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  6. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  7. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  8. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  9. | 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1

    4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  10. | 累積和とは s[i] = s[i-1] + a[i] どうやって? s[i] =

    [0, i) a[i] s[6] = a[0] + a[1] + a[2] + a[3] + a[4] + a[5] s[2] = a[0] + a[1] - s[6] - s[2] = a[2] + a[3] + a[4] + a[5] 3 1 4 1 5 9 2 6 5 3 5 8 9 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  11. |

  12. |

  13. |

  14. |