川ホップスコッチの問題(バイナリ)

私は長い間、非常に長い時間半タイトルカードである
、私は本当に半分ああ、そこにある何の兄が私に言うことはできませんしていない
私がばかだったが

题目链接川ホップスコッチ
题目描述:
毎年牛が慎重に川で岩から岩へのジャンプが含ま石蹴りの独特なバージョンをフィーチャーしたイベントを開催。興奮は、開始時にロックおよび終了時に別のロックと長く、真っ直ぐな川で行わ離れ開始(1≤L≤10億)からLユニット。開始と終了の間の岩川に沿って、N(0≤N≤50,000)より岩石開始(0 <ディ<L)の積分距離ディにおいてそれぞれ、現れます。
ゲームをプレイするには、順番にそれぞれの牛は、岩から岩へのジャンプ、エンディング岩でフィニッシュに到達するために開始岩と試みから始まります。もちろん、あまり機敏牛は川に代わり終わる、最終岩にそれを作ることはありません。
ファーマージョンは彼の牛の誇りに思っていると、毎年このイベントを監視します。時間が経つにつれてしかし、彼は他の農家の臆病な牛を見てのタイヤが一緒にあまりにも密接に置かれた岩の間に短い距離間でぐったり。彼は、牛が最後に到達するためにジャンプする必要があります最短距離を増加させるためにいくつかの岩を削除することを計画しています。彼は開始と終了岩を削除することはできません知っているが、彼は彼がM岩(0≤M≤N)までを削除するために十分なリソースを持っていることを計算します。
FJは、彼が最短距離を増やすことができます正確にどのくらい知りたいの前に、彼は岩の除去を開始します。ヘルプファーマージョンは牛がM岩の最適なセットを削除した後にジャンプしなければならない最大の最短距離を決定します。

输入要求
1行目:スリースペースで区切られた整数:L、N、およびM
ライン2 ... N + 1:各行は、いくつかの岩が離れ始め岩からどのくらい離れているかを示す一つの整数が含まれています。どの2つの岩が同じ位置を共有しません。

输出:
行1:牛はM岩を除去した後にジャンプしなければならない最短距離の最大値である単一の整数を

この問題は、一般的にMの除去は、すべての石の最小値を石を必要とした後、川の石は、n個あることを意味しています。

注意:

1.タイトルながら使用するように、サンプルの入力のマルチセットである(scanf関数( "%D% D%D"、&L、&N、&M)!= EOF) フォーム。私は、ブラインドが訓練を受け、訓練を受け、訓練を受けたの要件の最後の行を見ることができませんよ

川の土手から石の長さを入力します、最初は、後続の決意のためにデータをソートします。

バイナリ中間要素を分析するための3:初期の低= 0、高い=川の長さを(!ああサイクル毎に更新すべきでない私に愚かな問題でローのような)距離が少ない二つの石の中間値より大きい場合、数は、この時間を示す、必要な数よりも大きい場合、中間値よりも大きいが、(AH更新してください!)の位置を更新する前に石が除去されると、この場合、この数は除去されるであろう、と石のレコードの除去置換値が高いと、大きな間隔を取ります。

コードの実装

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long int a[50010],l,m,n;
int main()
{
	long long int i,j,low=0,high,mid;
	while(scanf("%lld %lld %lld",&l,&n,&m)!=EOF){
			a[0]=0;
			for(i=1;i<=n;i++)
			{
				scanf("%d",&a[i]);
			} 
			high=l;
			low=0; 
			sort(a,a+n+1);
			while(low<=high){
	            mid=(low+high)/2;
	            int num=0,last=0;
	            for(i=1;i<=n;i++)
	            {
	                if(a[i]-last<mid) num++;
	                else last=a[i];
	            }
	            if(num<=m) low=mid+1;
	            else high=mid-1;
	            
            }
       		printf("%d\n",high);
	}
	return 0;
 }
公開された22元の記事 ウォンの賞賛1 ビュー1055

おすすめ

転載: blog.csdn.net/Doro_/article/details/104066599
おすすめ