hdu 4004 二分 2011大連賽區網路賽D

2022-06-02 11:09:10 字數 1429 閱讀 2767

題意:乙個長為l的河,中間有n個石子,小青蛙需要跳少於m次過河,判斷小青蛙每次跳躍最大距離的最小值

最大值最小,用二分

sample input

6 1 2

225 3 3112

18sample output411

2015-07-27:備戰區域賽專題

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8

using

namespace

std;

9#define mod 1000000007

10const

int inf=0x3f3f3f3f;11

const

double eps=1e-5

;12 typedef long

long

ll;13

#define cl(a) memset(a,0,sizeof(a))

14#define ts printf("*****\n");

15const

int maxn=500010;16

intn,m,tt,l;

17int

a[maxn];

18int check(int

m)19

30while(m>=a[o]-a[k])

3134 k=o-1

;35 tot+=a[o]-a[k];

36 w++;37}

38return

w;39}40

intmain()

4163

else l=mid+1;64

}65 printf("

%d\n

",ans);66}

67 }

view code

1 #include2 #include3 #include4 #include5 #include6 #include7

using

namespace

std;

8const

int maxn=500010;9

intn,m,t,l;

10int

d[maxn];

11bool fun(int x) //

判斷青蛙跳x的時候需要跳幾次過河,貪心,每次選擇能跳最遠的

1222

if(cnt<=m) return

true;23

else

return

false;24

}25intmain()

2645 printf("

%d\n

",ans);46}

47 }

二分 HDU 4004 青蛙過河

第一行給出l,n,m。分別代表河水的寬,河水中有n個石頭,和青蛙最多能跳m次。青蛙只能跳到石頭上,且預設可以跳無限遠。下面給出n個石頭的座標。問 要求使得青蛙跳過河的這次所有的跳躍中,跳躍最遠的那次距離盡可能最小,輸出這個值 1 如果m n,那一定是兩兩相距最遠的那個距離。2 資料很大,暴力去查詢每...

HDU 6496 大廈 暴力 二分

現在就讓我們來大膽地暢想2050。我們乘坐著無人駕駛的飛行汽車,馳騁在城市的街頭,感受著都市的繁華。我們看到了一棟高樓大廈,大廈的牆面可以看做乙個 w h 的矩形,我們把它的左下角當成 0,0 右上角當成 w,h 上面分布著一些led燈,這些led燈與地面呈45度傾斜,並且從矩形的邊界延伸到另一邊界...

HDU 4417 (二分 區間第k大)

查詢區間 l,r 中有多少數 比給定的 h 小。我們可以這麼想,h 一定會比 區間的第 x 大 第 x 1 小。怎麼確定 x。這是乙個單調的問題,所以二分 區間第 k 大就可以確定了。include include include include using namespace std const ...