카라츠바의 빠른 정수 곱셈 알고리즘의 subFrom함수에서요

  • rxd119
    rxd119
    // a -= b; 를 구현한다. a >= b 를 가정한다.
    
    void subFrom(vector<int>& a, const vector<int>& b) {
        a.resize(max(a.size(), b.size()) + 1);
        for(int i = 0; i < b.size(); i++) a[i] -= b[i];
        normalize(a);
    }
    

    a를 resize 할때 max(a.size(), b.size())에 더하기 1을 하는 이유가 무엇인가요?
    resize로 굳이 한칸 더 늘릴 필요없이 a.size()의 길이를 유지해도 상관 없지 않나요?
    저기서 굳이 더하기 1을 하는 이유가 있을 것 같은데 잘 모르겠어서 여쭤봅니다.


    5년 전
0개의 댓글이 있습니다.
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.