hdu_5620_KK's Steel(水题)

时间:2023-03-09 03:58:39
hdu_5620_KK's Steel(水题)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5620

题意:给你一个n长的钢管,要分的尽可能多,且任意三条不能构成三角形

题解:看hint就知道用递推来解

 #include<cstdio>
#define F(i,a,b) for(int i=a;i<=b;++i) long long a[],b[],n;int t,l,r,mid; int main(){
b[]=,b[]=,a[]=b[];
F(i,,)b[i]=b[i-]+b[i-];
F(i,,)a[i]+=a[i-]+b[i];
scanf("%d",&t);
while(t--){
scanf("%lld",&n);
for(l=,r=;l<=r;)if(a[mid=l+((r-l)>>)]>n)r=mid-;else l=mid+;
printf("%d\n",l-);
}
return ;
}