最小面積1 模擬 或樹狀陣列

2021-09-05 17:33:04 字數 611 閱讀 5127

傳送門

可以把最外兩層取出來然後列舉選哪乙個出來 , 這樣做是o(1)的

我的做法是列舉每次少哪乙個點 , 在樹狀陣列裡修改 , 然後查最大最小就可以 , 這樣是o(nlogn)的

另外 , 注意 

#define inf 0x7fffffff
如果是0x3fffffff的話不夠大

#include#define n 50050

#define m 40050

#define inf 0x7fffffff

using namespace std;

struct nodea[n];

int n,c[m][2],ans=inf;

int read()

void insert(int k,int x,int val)

int calc() y_max = ans+1;

return (x_max-x_min) * (y_max-y_min);

}int main()

for(int i=1;i<=n;i++) printf("%d",ans); return 0;

}

bzoj 1106 貪心 樹狀陣列 或 棧模擬

題意 n個數,各出現兩次,當兩個相同的數相鄰時,這兩個數同時消除,上方的方塊同時下落且可繼續消除滿足條件的。每次可交換相鄰的兩個方塊,求最少交換次數使得所有數全消除 首先,對於一對相同的數中間有另一對的情況 即兩對相同的數是巢狀關係 肯定要先消除另一對 其次,對於一對相同的數中間有另一對中的乙個的情...

樹狀陣列1 樹狀陣列入門

仔細看一下,發現tree的每乙個節點的高度並不是隨意的,而是由它轉成二進位制之後末尾連續零的數量決定的,連續零的數量加1,就是高度,例如 3 11 零的數量為0,加1等於1,所以它的高度就是1 6 110 零的數量為1,加1等於2,所以它的高度就是2 8 1000 零的數量為3,加1等於4,所以它的...

模板 樹狀陣列1

這篇是樹狀陣列模板1 主要內容有 1.將某數加上x 2.求某區間和 也就是說支援單點修改 關於樹狀陣列的部落格講解 見基本介紹 include include include using namespace std define in read typedef long long ll const ...