poj 3264
題意:給定序列,求區間 [x,y] 最大值和最小值的差
標籤:區間最值
分析:線段樹維護區間最大最小值,分開查詢。
還是老問題,poj流同步關了還是t
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define pi acos(-1)
using
namespace std;
typedef
long
long ll;
typedef pair p;
const
int mod=
1e9+7;
const
int maxn=
5e4+10;
struct node tree[maxn<<2]
;int n,m;
int a[maxn]
;void
push_up
(int p)
void
build
(int p,
int l,
int r)
int m=
(l+r)
>>1;
build
(p<<
1,l,m)
,build
((p<<1)
|1,m+1
,r);
push_up
(p);
}int
querymin
(int p,
int x,
int y)
intquerymax
(int p,
int x,
int y)
intmain()
return0;
}
堆區 棧區 靜態區 常量區還有???
常見的儲存區域可分為 由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般乙個new就要對應乙個delete。如果程式設計師沒有釋放掉,程式會一直占用記憶體,導致記憶體洩漏...
c 棧區 堆區 常量區
c 中棧區 堆區 常量區 由一道面試題目而學習 2009 04 28 21 01 include void main 對應的彙編 10 a c 1 00401067 8a 4d f1 mov cl,byte ptr ebp 0fh 0040106a 88 4d fc mov byte ptr ebp...
記憶體的使用 棧區 堆區 靜態區 唯讀區
記憶體的使用感覺好亂啊,需要整理一下!於是參考c primer與網上資源,整理如下 一 綜述 記憶體中的棧區分配的是區域性變數和函式的引數值的空間,棧的生長方向是從高往低的 堆區是向上增長的用於分配程式設計師申請的記憶體空間 比如new 申請的動態記憶體 注意它與資料結構中的堆是兩回事,分配方式倒是...