C++中的前綴和(Prefix Sum)是一種優化算法,用于計算原數組中每個元素前綴和(前面所有元素的累加和),可以在O(n)時間內實現。
#include<iostream>
using namespace std;const int MAXN = 100010;int PrefixSum[MAXN];int main()
{int n;cin >> n;// 讀入數組for(int i=1;i<=n;i++)cin >> PrefixSum[i];// 計算前綴和for(int i=1;i<=n;i++)PrefixSum[i] += PrefixSum[i-1];// 輸出前綴和for(int i=1;i<=n;i++)cout << PrefixSum[i] << " ";return 0;
}
????????通過循環讀入一個長度為n的數組(從下標1開始存儲)。然后,在下一個循環中計算前綴和,即從下標1開始,相鄰兩項累加,得到每個元素的前綴和。