看過神牛的rmq演算法之後自己算是默寫了遍.....
交上去的時候,華麗麗的超時了。因為我用的是 cin cout
才想到當輸入和輸出的次數多時,那麼這兩個是很耗時間的。
view code
12 #include 3 #include 4 #include 5
using
namespace
std;
6const
int maxn= 100010;7
int maxsum[maxn][20], minsum[maxn][20];8
int max(int a, intb)9
12int min(int a, int
b)13
16void rmq(int
num)
17 26}
2728
intmain()
2937
rmq(n);
38while(q--)
3946
return0;
47}48
NYOJ119 士兵殺敵(三)
題目分析 這道題用的rmq演算法 range maximum minimum query 這裡做了幾點優化。1 定義dpmax和dpmin時,為什麼17寫在前面,因為記憶體中資料是按行連續的存的,所以初始化dpmax 0 和dpmin 0 相關資料時,可以直接用memcpy。2 所有的求2的方冪的操...
NYOJ 119士兵殺敵(三)
時間限制 2000 ms 記憶體限制 65535 kb 難度 5 描述 南將軍統率著n個士兵,士兵分別編號為1 n,南將軍經常愛拿某一段編號內殺敵數最高的人與殺敵數最低的人進行比較,計算出兩個人的殺敵數差值,用這種方法一方面能鼓舞殺敵數高的人,另一方面也算是批評殺敵數低的人,起到了很好的效果。所以,...
nyoj119士兵殺敵(三)
時間限制 2000 ms 記憶體限制 65535 kb 難度 5 描述 南將軍統率著n個士兵,士兵分別編號為1 n,南將軍經常愛拿某一段編號內殺敵數最高的人與殺敵數最低的人進行比較,計算出兩個人的殺敵數差值,用這種方法一方面能鼓舞殺敵數高的人,另一方面也算是批評殺敵數低的人,起到了很好的效果。所以,...