codeforce 760 B Frodo and pillows 二分搜索
题目链接:http://codeforces.com/problemset/problem/760/B
题目大意:有n个人,共m个东西,每个人至少分得1个,相邻两人的物品个数之<=1,问第k个人最多能分多少个。
分析:这道题嘛,求约束条件的最大值,我们可以想到二分,设第K个人分x个,那么与他距离为1的人分x-1个,距离为2的人分x-2个。注意10^9=1e9不是1e8,这样WA了几发!!
code:
#include<cstdio>
#define min(a,b) (a<b?a:b)
typedef long long LL;
const LL MAXN=1e9+5;
LL n,m,k;
bool condition(LL x){
LL a=min(x,k);//两个等差数列长度
LL b=min(x,n-k+1);
LL sum=a*(x+x-(a-1))/2+b*(x+x-(b-1))/2-x;
return sum<=m;
}
int main(void){
scanf("%I64d%I64d%I64d",&n,&m,&k);
m=m-n;//先每人分一个
LL lo=-1,hi=m+1;
while(hi-lo>1){
LL mid=(hi+lo)/2;
if(condition(mid))lo=mid;
else hi=mid;
}
printf("%I64d\n",lo+1);
}
codeforce 760 B Frodo and pillows 二分搜索相关推荐
- 【CodeForces - 760B 】Frodo and pillows (二分题意,注意细节)
题干: n hobbits are planning to spend the night at Frodo's house. Frodo has n beds standing in a row a ...
- Frodo and pillows CodeForces - 760B 二分 注意l和r的选择
以后写l和r的初始值的时候,在不影响合理性的前提下,尽量写大一点 比如下面这个代码,如果r不加以或者l==0就不行 #include <iostream> #include <cst ...
- Codeforces Roud#393
B. Frodo and pillows time limit per test 1 second memory limit per test 256 megabytes input standard ...
- hdu2236 无题II 最大匹配 + 二分搜索
中文题目,题意大家都明白. 看到"不同的行和列"就觉得要用二分匹配来做.要求最大值与最小值的差值最小,是通过枚举边的下限和上限来完成. 枚举过程是这样的,在输入的过程可以记录下边权 ...
- 二分搜索 POJ 2456 Aggressive cows
题目传送门 1 /* 2 二分搜索:搜索安排最近牛的距离不小于d 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #incl ...
- 算法基础知识科普:8大搜索算法之二分搜索
昨天介绍了对无序搜素表的顺序搜索方法,今天介绍对有序搜索表的二分搜索方法,"二分"在算法设计中是非常常用的一种思想,除了处理如下普通的搜索外,还用于搜索方程的解等工程领域.但二分法 ...
- 二分搜索 2015百度之星初赛1 HDOJ 5248 序列变换
题目传送门 1 /* 2 二分搜索:在0-1e6的范围找到最小的max (ai - bi),也就是使得p + 1 <= a[i] + c or a[i] - c 3 比赛时以为是贪心,榨干智商也 ...
- POJ1064(二分搜索)解题报告
原题链接:POJ1064 题意简述:有N根绳子,它们长度分别为Li.如果从他们中切割出K条长度相同的绳子的话,这K条绳子每条最长能有多长?答案保留到小数点后俩位. 解题思路:用二分搜索方法来判断.首先 ...
- java 二分搜索获得大于目标数的第一位_遇到「最值问题」还在无脑动态规划?二分法考虑一下呗
目录 前言 二分法基础及变种结构 小试牛刀 打怪升级 出师试炼 前言 一般来说,遇到「最值问题」通用的方法都是动态规划,而有一类「最值问题」可以用其他方法更加巧妙.简单方便的解决,这类问题的常见问法是 ...
- 二分搜索 POJ 3273 Monthly Expense
题目传送门 1 /* 2 题意:分成m个集合,使最大的集合值(求和)最小 3 二分搜索:二分集合大小,判断能否有m个集合. 4 */ 5 #include <cstdio> 6 #incl ...
最新文章
- 金融行业数据管理将何去何从?
- 06-jvm-查询命令-01
- 如何查看一个linux用户的口令保留策略
- java邮箱找回密码_Spring实现简单的邮箱找回密码功能
- spring boot+mybatis-plus+SQL server调用有返回值的存储过程
- pandas合并concatmerge和plot画图
- android获取3g或wifi流量信息,Android代碼----android獲取3G或wifi流量信息
- 通过系统表获取SQL,Access,Oracle数据库的元数据信息
- Flink 端到端一致性
- gophp解释器_go语言环境搭建、基本使用
- dell服务器错误代码
- 排队论的计算机模拟,8.2 排队论模型(二)-----计算机模拟.pdf
- ubuntu20.04安装搜狗输入法
- python爬虫qq好友信息_qq好友空间说说爬虫
- c语言无符号数最大值和最小值,c语言 int最大值是多少?
- 酒店管理系统java代码_基于Spring开发的Java酒店管理系统 源码下载
- adobe illustrator的格式刷
- win10安装Visual Studio 2019失败
- 21 个人所得税计算
- 2021高考俄语成绩查询,2021年俄语专业大学排名及分数线【统计表】