Social Distancing
题面
题目描述
由于高传染性的牛传染病 COWVID-19 的爆发,Farmer John 非常担忧他的奶牛们的健康。
为了限制疾病的传播,Farmer John 的 N 头奶牛(2≤N≤105)(2≤N≤10^5)(2≤N≤105)决定践行“社交距离”,分散到农场的各处。农场的形状如一维数轴,上有 M 个互不相交的区间(1≤M≤105)(1≤M≤10^5)(1≤M≤105),其中有可用来放牧的青草。奶牛们想要使她们位于不同的整数位置,每个位置上均有草,并且最大化 D 的值,其中 D 为最近的两头奶牛之间的距离。请帮助奶牛们求出 D 的最大可能值。
输入格式(文件名:socdist.in):
输入的第一行包含 N 和 M。以下 M 行每行用两个整数 a 和 b 描述一个区间,其中 0≤a≤b≤10180≤a≤b≤10^{18}0≤a≤b≤1018。没有两个区间有重合部分或在端点处相交。位于一个区间的端点上的奶牛视为在草上。
输出格式(文件名:socdist.out):
输出 D 的最大可能值,使得所有奶牛之间的距离均不小于 D 单位。保证存在 D>0 的解。
输入样例:
5 3
0 2
4 7
9 9
输出样例:
2
样例解释
取到 D=2 的一种方式是令奶牛们处在位置 0、2、4、6 和 9。
测试点性质:
测试点 2-3 满足 b≤105b≤10^5b≤105。
测试点 4-10 没有额外限制。
算法分析
标准的二分答案。二分奶牛之间的距离D。
参考程序
Cereal
题面
题目描述
Farmer John 的奶牛们的早餐最爱当然是麦片了!事实上,奶牛们的胃口是如此之大,每头奶牛一顿饭可以吃掉整整一箱麦片。
最近农场收到了一份快递,内有 MMM 种不同种类的麦片(1≤M≤1051≤M≤10^51≤M≤105)。不幸的是,每种麦片只有一箱!NNN 头奶牛(1≤N≤1051≤N≤10^51≤N≤105)中的每头都有她最爱的麦片和第二喜爱的麦片。给定一些可选的麦片,奶牛会执行如下的过程:
如果她最爱的麦片还在,取走并离开。
否则,如果她第二喜爱的麦片还在,取走并离开。
否则,她会失望地哞叫一声然后不带走一片麦片地离开。
奶牛们排队领取麦片。对于每一个 0≤i≤N−10≤i≤N−10≤i≤N−1,求如果 Farmer John 从队伍中移除前 iii 头奶牛,有多少奶牛会取走一箱麦片。
输入格式(文件名:cereal.in):
输入的第一行包含两个空格分隔的整数 NNN 和 MMM。
对于每一个

最低0.47元/天 解锁文章
364

被折叠的 条评论
为什么被折叠?



