P2672ジャンプ石

これは二分回答2015noipトピックで、説明が,,う読み

石のタイトルは、場所を与えられ、あなたは岩がまたメートルまでのデータを削除、飛び石することはジャンプの最大の最短距離を解決するために、通過することができ、前方にジャンプすることができます。

何それから2分も:ミッド長さをジャンプします。その後、2分間右= L = 0を残した。sの奪還記録し、今石の現在の数を移動している、上にジャンプするかどうかを決定(及び同様のアイデアプレフィックス)ことができます。最後石現在のホップ> = mは、右=半ば1、動きがある場合<= Mの場合、現在のレコードの中間、左=半ば+ 1をさせるように移動させます。そして、最小距離の最大値であるトピックは、最終的に見つけたので最大です。

1.被験者がバイナリEG。最大、最小、好ましくはK、キー単調最小平均道路の量であってもよいかを決定。

2.何の半分を解決している何

エンドポイントの約半分を変更する方法3。

4.慎重にタイトルを読んで、そのため、少なくとも最も有望なキーワード、明確なロジック

#include <iostreamの> 
する#include <cmath> 
の#include <CStringの> 
する#include < ストリング > 
の#include <アルゴリズム> 
の#include <cmath> 
の#include <cstdioを>
 の#define MAXN 600000
 使用して 名前空間STD。
int型M、N。
int型のL、D;
int型は右、中、左;
INT [MAXN]。
int型の、今。
int型 ANS = 0 ;
INT メイン(){ 
    CIN >> L >> N >> M。    
    ; I <= N; I ++は){ 
        CIN >> A [I]; 
    } 
    INT =左0、右= L;
     ながら左(<=右){ // 半分ホップ長 
        MID =(左+右)/ 2  = 0 ; // スキップ最初の数 
        S = 0 ; //は、いくつかの石を移動
        するためのINT I = 1 ; I <= N-Iが++ ){
             IF([I] -a [今] <MIDを){ // もしオーバージャンプ 
            S ++; // 移動
            }
            他の{  = I; 
            } 
        } 
        もし、(S <= M){ 
            ANS = ミッド。 =ミッド+ 1 ; 
        } 
        そう右=半ば1 
    } 
    COUT << ANS。
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/china-mjr/p/11615950.html