每天,農夫 john 的n(1 <= n <= 50,000)頭牛總是按同一序列排隊. 有一天, john 決定讓一些牛們玩一場飛盤比賽. 他準備找一群在對列中為置連續的牛來進行比賽. 但是為了避免水平懸殊,牛的身高不應該相差太大. john 準備了q (1 <= q <= 180,000) 個可能的牛的選擇和所有牛的身高 (1 <= 身高 <= 1,000,000). 他想知道每一組裡面最高和最低的牛的身高差別. 注意: 在最大資料上, 輸入和輸出將占用大部分執行時間.
* 第一行: n 和 q. * 第2..n+1行: 第i+1行是第i頭牛的身高.
* 第n+2..n+q+1行: 兩個整數, a 和 b (1 <= a <= b <= n), 表示從a到b的所有牛.
*第1..q行: 所有詢問的回答 (最高和最低的牛的身高差), 每行乙個.
6 3173
4251 5
4 62 263
0****************************************====華麗麗的分割線****************************************====
這題好像沒卡線段數耶~~~
直接倍增預處理最大值最小值,然後就可以支援o(1)詢問辣~
rmq經典題,時間複雜度o(nlogn+q),**如下:
1 #include 2#define maxn 50007
3using
namespace
std;
4int
read()58
while (ch>='
0'&&ch<='9')
9return x*f;10}
11int
n,q;
12int
a[maxn];
13int mx[maxn][27],mn[maxn][27
];14
int query1(int lx, int
rx)15
21int query2(int lx, int
rx)22
28int
main()
2948}49
while (q--)
5055
return0;
56 }
bzoj3290 Theresa與資料結構
題目大意 需要維護乙個資料結構,支援 1.插入點 x,y,z 2.查詢立方體 x,y,z 到 x r,y r,z r 中有多少個點 3.刪除點 x,y,z 反正就是四維偏序,怎麼開心怎麼來 然後我明白了一件事 樹套樹的空間根本無法接受 以下 在 bzoj 會 ce 然而即使不 ce 也會 re 大家...
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...
資料結構 資料結構演算法
分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...