結論 區間和的和

2021-09-27 07:55:35 字數 809 閱讀 7005

給出乙個陣列,求出所有區間和的總和

312

3

20
對於30%的資料:1⩽n

⩽100

1\leqslant n\leqslant 100

1⩽n⩽10

0對於50%的資料:1⩽n

⩽1000

1\leqslant n\leqslant 1000

1⩽n⩽10

00對於100%的資料:1⩽n

⩽100000

1\leqslant n\leqslant 100000

1⩽n⩽10

0000

直接列舉所有區間會tle

那我們從每個數下手

每個數可能在多少個區間**現呢

首先可以發現區間的最前端要小於等於i(i

種可能)

i(i種可能)

i(i種可能

),最後端要大於等於i(n

−i+1

種可能)

i(n-i+1種可能)

i(n−i+

1種可能

)於是我們直接那兩個數相乘然後乘上a[i

]a[i]

a[i]

在求和即可

#include

using

namespace std;

long

long n,a,ans;

intmain()

printf

("%lld"

,ans)

;}

區間和的錯誤

假定有乙個無限長的數軸,數軸上每個座標上的數都是0。現在,我們首先進行 n 次操作,每次操作將某一位置x上的數加c。接下來,進行 m 次詢問,每個詢問包含兩個整數l和r,你需要求出在區間 l,r 之間的所有數的和。輸入格式 第一行包含兩個整數n和m。接下來 n 行,每行包含兩個整數x和c。再接下裡 ...

SqlCe和SQLite的對比試驗 結論

前端時間做wince手持機應用時,用到了sqlce,在sql ce的資料流讀寫裡頭,我想插入資料,就直接把資料插入進去 1 public static void insertintosqlce 2 1213 tran.commit 14 15 閒暇之餘,順手測試了一下sqlite的效率 簡單的插入 ...

區間和問題

假定有乙個無限長的數軸,數軸上每個座標上的數都是0。現在,我們首先進行 n 次操作,每次操作將某一位置x上的數加c。近下來,進行 m 次詢問,每個詢問包含兩個整數l和r,你需要求出在區間 l,r 之間的所有數的和。輸入格式 第一行包含兩個整數n和m。接下來 n 行,每行包含兩個整數x和c。再接下裡 ...