serna37's Library

Logo

C++ アルゴリズムとデータ構造のライブラリ

View the Project on GitHub serna37/library-cpp

:heavy_check_mark: 階差数列
(library/sequence/difference_sequence.hpp)

階差数列

できること

計算量

$O(N)$

使い方

vector<long long> diff = difference_sequence(A);

Verified with

Code

#pragma once
template <typename T>
vector<long long> difference_sequence(const vector<T> &A) {
    int N = A.size();
    vector<long long> D(N - 1);
    for (int i = 0; i < N; ++i) D[i] = A[i + 1] - A[i];
    return D;
}
#line 2 "library/sequence/difference_sequence.hpp"
template <typename T>
vector<long long> difference_sequence(const vector<T> &A) {
    int N = A.size();
    vector<long long> D(N - 1);
    for (int i = 0; i < N; ++i) D[i] = A[i + 1] - A[i];
    return D;
}
Back to top page