求最大值的條件下的位置 hdu Billboard

2021-06-08 05:56:02 字數 673 閱讀 3306

//思路:以豎直高度為x軸,則x軸的寬度應該為1到min(h,n)

//該步驟是動態的過程,開始時橫座標為1,慢慢變為2,3,4,最大值的更新

//開始是1,2的父親,然後是2,3的最大值,接著是3,4......

#include #define maxn 200200

#define lson l,mid,rt<<1

#define rson mid+1,r,rt<<1|1

int mm[maxn<<2];//該陣列記錄的是當期位置的最大值

int w,h,n,t;

int max(int a,int b)

int min(int a,int b)

int query(int x,int l,int r,int rt)

int ret=0;

int mid=(r+l)>>1;

ret=mm[rt<<1]>=x?query(x,lson):query(x,rson);//該條件說明mm[rt<<1]>=x,能裝的下

pushup(rt);//max[rt]總是當前節點的最大值.因為盡量向上靠,所以需要尋找左子樹,左子樹裝不下,放到相鄰的右子樹

return ret;

}int main()

}return 0;

}

求兩個數的最大值及最大值方法的過載

建立方法求兩個數的最大值max2,隨後再寫乙個求3個數的最大值的函式max3。要求 在max3這個函式中,呼叫max2函式,來實現3個數的最大值計算 public class test private static intmax3 int a,int b,int c private static i...

求自定型別元素的最大值

4 5 求自定型別元素的最大值 10分 本題要求實現乙個函式,求n個集合元素s中的最大值,其中集合元素的型別為自定義的elementtype。elementtype max elementtype s,int n 其中給定集合元素存放在陣列s中,正整數n是陣列元素個數。該函式須返回n個s元素中的最大...

求給定整數中的最大值

首先我們先用整形陣列將給定的值存起來,下邊我將給出5個整數來實現程式.include include int max int a,int sz return max int main int sz sizeof a sizeof a 0 int ret max a,sz printf max d n...