首页 > 其他分享 >P1824 进击的奶牛

P1824 进击的奶牛

时间:2025-01-18 12:04:18浏览次数:3  
标签:leq 进击 隔间 mid int zty merge P1824 奶牛

前言

今天zty带来的是 P1824 进击的奶牛 ,大家给个赞呗,zty还要上学,发作品会少一点
先 赞 后 看 养 成 习 惯
在这里插入图片描述


先 赞 后 看 养 成 习 惯
演示用编译器及其标准
Dev C++ 6.7.5 Red panda C++14

正文

进击的奶牛

题目描述

Farmer John 建造了一个有 N N N( 2 ≤ N ≤ 1 0 5 2 \leq N \leq 10 ^ 5 2≤N≤105) 个隔间的牛棚,这些隔间分布在一条直线上,坐标是 x 1 , x 2 , ⋯   , x N x _ 1, x _ 2, \cdots, x _ N x1​,x2​,⋯,xN​( 0 ≤ x i ≤ 1 0 9 0 \leq x _ i \leq 10 ^ 9 0≤xi​≤109)。

他的 C C C( 2 ≤ C ≤ N 2 \leq C \leq N 2≤C≤N)头牛不满于隔间的位置分布,它们为牛棚里其他的牛的存在而愤怒。为了防止牛之间的互相打斗,Farmer John 想把这些牛安置在指定的隔间,所有牛中相邻两头的最近距离越大越好。那么,这个最大的最近距离是多少呢?

输入格式

第 1 1 1 行:两个用空格隔开的数字 N N N 和 C C C。

第 2 ∼ N + 1 2 \sim N+1 2∼N+1 行:每行一个整数,表示每个隔间的坐标。

输出格式

输出只有一行,即相邻两头牛最大的最近距离。

样例 #1

样例输入 #1

5 3
1
2
8
4
9

样例输出 #1

3
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m;
int ans=-1;
int a[1000005];
bool panduan(int x) {
	int now = 1, num = 1;
	    for (int i = 2; i <= n; i++){
	        if (a[i]-a[now]>=x){
	            now=i;
	            num++;
	        }
	    }
	    return num>=m;
}
void merge(int l,int r){
	if(r-l<0) return;  
	int mid=l+(r-l>>1);    
	if(panduan(mid)){  
		merge(mid+1,r);
		ans=max(ans,mid);
	}
	else{  
		merge(l,mid-1);
	}
}
int main() {
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1);
	merge(1,(2<<30));
	cout<<ans;
	return 0;
}

后记

作者:zty郑桐羽呀
联系方式:(不挂了,有事私信)
兄弟们给个赞呗
先 赞 后 看 养 成 习 惯

标签:leq,进击,隔间,mid,int,zty,merge,P1824,奶牛
From: https://blog.csdn.net/zty20120913/article/details/145119194

相关文章

  • 前端进击笔记
    前端进击笔记已发布:307193||已发布||开篇词|前端进阶得打好基础,靠近业务||7b411d949d824d47a81aa72a0f654e57如何破局,快速进阶?拉勾教育互联同人实战大学应届生:基础不差、能干好学,即使缺乏项目实践经验,影响也不会很大工作1~3年的前端开发:不仅要熟练使用各种前......
  • 愤怒的牛/好斗的奶牛[二分答案]
    题目来源USACO2005Feb.Gold题面题目描述农夫约翰建造了一座有$n$间牛舍的小屋,牛舍排在一条直线上,第$i$间牛舍在$x_i$​的位置,但是约翰的$m$头牛对小屋很不满意,因此经常互相攻击。约翰为了防止牛之间互相伤害,因此决定把每头牛都放在离其它牛尽可能远的牛舍。也就是......
  • 【进击的测试圈】—— 一起挑战最牛逼的Bug,突破技术极限!
    ......
  • 进击的奶牛题解
    题目描述FarmerJohn建造了一个有 N(2≤N≤105)个隔间的牛棚,这些隔间分布在一条直线上,坐标是 x1,x2,⋯ ,xN​(0≤xi≤109)。他的 C(2≤C≤N)头牛不满于隔间的位置分布,它们为牛棚里其他的牛的存在而愤怒。为了防止牛之间的互相打斗,FarmerJohn想把这些牛安置在指定的隔间,所......
  • 奶牛分厩题解
    题目描述农夫约翰有 N(1≤N≤5000)头奶牛,每头奶牛都有一个唯一的不同于其它奶牛的编号 s[i],所有的奶牛都睡在一个有 K 个厩的谷仓中,厩的编号为 00 到 K−1。每头奶牛都知道自己该睡在哪一个厩中,因为约翰教会了它们做除法,Si mod K的值就是第 i 头奶年所睡的厩的编......
  • P1578 奶牛浴场
    题面链接最大子子矩形问题首先一些概念1.有效子矩阵:内部不包含任何障碍点,且边界与坐标轴平行的子矩阵2.极大子矩阵:一个有效子矩阵,如果不包含它,且比它大的有效子矩阵,则为极大有效子矩阵3.最大有效子矩阵:所有有效矩阵中最大面积的子矩阵极大化思想定理1.有一个障碍点的矩形......
  • P1460 健康的荷斯坦奶牛 Healthy Holsteins
    题目描述点这里文字描述农民John以拥有世界上最健康的奶牛为傲。他知道每种饲料中所包含的牛所需的最低的维他命量是多少。请你帮助农夫喂养他的牛,以保持它们的健康,使喂给牛的饲料的种数最少。给出牛所需的最低的维他命量,输出喂给牛需要哪些种类的饲料,且所需的饲料剂量最少......
  • 爷爷奶奶每年的酸奶牛奶和人参
    牛奶是7.9一瓶 一年是2,883.5酸奶是4元一瓶,5-15-5.30、9.1-10.1每天需要1.5瓶  4元*45天*1.5=2706.1-8.30每天需要2瓶4*90*2=720 大约需要3,873元。每年5月5号有优惠券。记得去app领-----------------------------------------------人参买多多上万宝庭的,......
  • [USACO5.1] 圈奶牛Fencing the Cows /【模板】二维凸包
    凸包,顾名思义,就是凸多边形包围,具体定义见OI-wiki(既是周长最小也是面积最小)有Graham算法和Andrew算法,后者精度更高常数更小(因为不涉及求角度)Andrew算法:1.将点排序(横坐标为第一关键字,纵坐标为第二关键字)2.从左到右维护上半部分,再从右到左维护下半部分。具体见OI-wiki。最后说的......
  • 题解:洛谷 P1843 奶牛晒衣服
    题解:洛谷P1843奶牛晒衣服标签:二分,贪心题意给定一个数列,每秒可以将所有数减\(a\),也可以选择一个数减\(b\),二者可同时进行,求让所有数小于等于\(0\)的最小秒数。思路要求最小的秒数,也就是刚好所有数字小于等于\(0\),且尽量大。这个秒数具有单调性,考虑二分答案。二分的......