担心浮点数二分的精度不够肿么办?看过来妹子

首先看看:
下面是浮点数二分的正常模板:

bool check()
{
//	时间复制度为 O(n); 
}

double l=0, r = 1e9;
while (r-l > 1e(-k-2))	  //k为题目所需要保留的k位小数,往后加2,避免意外
{
	double mid  = (r+l)>>1;
	if (check(mid)) l = mid;
	else r = mid;
}

提高精度的模板:
一般提高精度的话,就是算二分循环枚举的次数是多大!
公式 = check函数的最坏时间复杂度设为 O
循环次数 = 1e7%O (次);

bool check()
{
//	时间复制度为 O(n); 
}

double l=0, r = 1e9;
for (int i=0; i < 1e7/O(n); i ++)	  //k为题目所需要保留的k位小数,往后加2,避免意外
{
	double mid  = (r+l)>>1;
	if (check(mid)) l = mid;
	else r = mid;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值