关于二分比暴力慢
查看原帖
关于二分比暴力慢
1053122
shy_lihui楼主2024/12/12 00:58

不理解最优解咋搞的

#include<bits/stdc++.h>

using namespace std;
int n,t;
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>t;
	while(t--)
	{
		cin>>n;
		int l=1,r=100,f=1;
		while(l<=r)
		{
			int mid=l+r>>1;
			if(mid*mid*mid*mid==n)
			{
				cout<<mid<<'\n';
				f=0;
				break;
			}
			else if(mid*mid*mid*mid<n)
			{
				l=mid+1;
			}
			else
			{
				r=mid-1;
			}
		}
		if(f)
		{
			cout<<"-1\n";
		}
	}
	
	return 0;
}

最优解是 O(t)\text{O}(t)

2024/12/12 00:58
加载中...