先將高度值離散,對映到小範圍,然後統計每個高度到下乙個高度之間的總容積,最後從下到上不斷模擬「填水」的過程。
#include #include using namespace std;const int maxn = 50001;
int n, v;
double lev;
int b[2*maxn], h[maxn], w[maxn], d[maxn], cx[2*maxn], cv[2*maxn];
int *p[2*maxn];
void input();
void process();
void compress(int *, int *);
int cmp(const void *sa, const void *sb);
void print();
int main()
void input()
b[0] = 0;// 地板
scanf("%d", &v);
}void process()
else
}}void compress(int *x, int *cx)
pt = *p[i];
*p[i] = t; }}
int cmp(const void *sa, const void *sb)
void print()
DGZX1562 矩形面積
先排序,再離散,然後模擬。問題是,排序之後,讀入時的依賴關係就丟失了。比如讀入時左下角座標放在位置2 i,右上角座標放在位置2 i 1 或者左下角座標放在位置i,右上角座標放在位置i n。這些就是依賴關係,排序之後,這些依賴關係可能就丟失了!怎麼辦?以x座標為例,一種解決方法是,用p i 表示x p...
156 合併區間
5.3 本來以為是排好序的區間,後來發現不是。definition of interval public class interval class solution for int i 0 i intervals.size 1 i if tmp1.start tmp2.end tmp1.start ...
1 5 6 泛型方法
除了定義泛型類,泛型結構外,還可以定義泛型放啊發,泛型方法可以在泛型型別定義 也可以在非泛型類中定義。下面是定義的乙個泛型方法,該泛型型別用於兩個引數。前面有介紹ref關鍵字 void swap ref t x,ref t y 通過傳入型別來呼叫泛型類 int i 4 int j 5 swap re...