注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

fudq's AC Road

何以解忧,唯有AC!

 
 
 

日志

 
 

利用二分法求满足约束条件的最大整数解  

2013-04-28 15:50:48|  分类: ACM-Steps |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
目标条件S=2*n^2+(2*r-1)*n,n为整数,已知r和S,求小于等于S的n的最大值。
例如有以下三组r和S,
1 9
1 10
3 40
对应的结果是:
1
2
3

int Search_Bin(int r,int t)
{
int low,high,mid;
low=1;high=t;
while(low <= high)
{
if(low == high)
return low;
mid=(low+high)/2+(low+high)%2;//注意此处的写法,(low+high)%2的用法,当左右边界和为奇数时,mid向右取一位
int tmp=mid*(2*mid+2*r-1);
if(tmp == t)
return mid;
else if(tmp < t)
low=mid;
else if(tmp > t)
high=mid-1;
}
return mid;
}



  评论这张
 
阅读(112)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018