首页 > 其他分享 >二分答案

二分答案

时间:2023-10-25 18:00:16浏览次数:30  
标签:二分 int mid eps 答案 ans check

二分答案

使用条件(最大的最小,最小的最大)

  1. 命题可以被归纳为找到使得某命题\(P(x)\)成立(或不成立)的最大(或最小)的\(x\)。

  2. 把\(P(x)\)看作一个值为真或假的函数,那么它一定在某个分界线的一侧全为真,另一侧全为假。

  3. 可以找到一个复杂度优秀的算法来检验\(P(x)\)的真假。

好理解的板子

int Find(int L, int R)
{
    int ans, mid;
    while (L <= R)
    {
        int mid = L + ((R - L) >> 1);
        if (check(mid))
        {
            ans = mid;
            R = mid - 1;//L = mid + 1;
		} else {
            L = mid + 1;//R = mid - 1;
        }
    }
    return ans;
}

好题

P1024 NOIP2001 提高组 一元三次方程求解

(浮点数的二分)

while(l <= r)
{
	db mid = (l + r) / 2; 
	if (check(mid) * check(r) <= 0)
	{
		l = mid;
	} else {
		r = mid;
	}
}

错!因为浮点数存在误差。不能直接比较是否相等,而是判断差值是否小于eps

#define eps 1e-4
while(r - l >= eps)
{
	db mid = (l + r) / 2; 
	if (check(mid) * check(r) <= 0)
	{
		l = mid;
	} else {
		r = mid;
	}
}

正确

P2678 跳石头

[巧妙地从题目中转化check条件](题解 P2678 [跳石头] - ShawnZhou 的博客 - 洛谷博客 (luogu.com.cn))

标签:二分,int,mid,eps,答案,ans,check
From: https://www.cnblogs.com/kdlyh/p/17787816.html

相关文章

  • 二分板子的一个易错点
    while(l<=r){mid=l+(r-l)>>1;......}这样是错误的!由于>>的优先级问题,应用如下格式。while(l<=r){mid=l+((r-l)>>1);......}......
  • <学习笔记> 二分图
    二分图最大匹配:定义:给定一个二分图\(G\),即分左右两部分,各部分之间的点没有边连接,要求选出一些边,使得这些边没有公共顶点,且边的数量最大。方法:Dinic/染色二分图的最小顶点覆盖定义:假如选了一个点就相当于覆盖了以它为端点的所有边。最小顶点覆盖就是选择最少的点来覆盖所有的......
  • P2115 [USACO14MAR] Sabotage G(二分/思维)
    题目link要求得到平均产奶量的最小值,想到二分答案。emm...但是我在如何判断当前\(mid\)是否能成立上卡了好久,这里就需要思维了。还是要想到本质上,可以试着用数学式子表达当前\(mid\)的合法条件,若当前要删除\([l,r]\)的数,则有:(这里又可以想到用前缀和预处理)\[\begin{a......
  • Codeforces Round 905 (Div. 2) D1. Dances (Easy version)(贪心+二分)
    CodeforcesRound905(Div.2)D1.Dances(Easyversion)思路:对于\(a\),它的头默认为\(1\),则\(a_0\)=\(1\)对于排完序的\(a\)与\(b\)数组最优为从\(a\)的结尾删除,从\(b\)的开头删除二分保留位数,删去\(n-mid\)位,即\(a\)从\(0\)开始,\(b\)从\(k\)(\(k=n-......
  • 10.16 二分查找(加分项喔)
    上周一成功回答建民老师课上问题:对于不同分数对应的优秀程度,如何减少对比次数:二分查找(也叫折半查找算法):二分查找针对的是一个有序的数据集合时间复杂度:O(logn)但是二分查找的应用场景比较有限:底层必须依赖数组,并且要求数据有......
  • 运动品牌如何做到“全都要”?来看看安踏的答案
    作者|易不二运动鞋服是兼具高景气和清晰格局的优质消费赛道。中信证券给出的这一预测,欧睿国际也做出了更具体的测算:预计到2027年,中国运动服饰市场规模有望以约为8.7%的年复合增长率,突破5500亿元人民币。利好的市场前景必然会引发运动鞋服品牌市场位次的不断调整。从以安踏为主的......
  • 【基础算法】二分查找
    一、算法原理二分查找适用于在有序数组中查找一个元素,使用了分治思想。每次比较要查找的元素与数组的中间元素,如果要查找的元素>中间元素,在数组后半部分继续查找;如果要查找的元素<中间元素,在数组前半部分继续查找;如果要查找的元素=中间元素,查找结束。二分查找通过比较要......
  • 算法刷题记录-二分查找
    算法刷题记录-二分查找二分查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:......
  • 数据结构:二分查找法
    #include<iostream>#include<string>#include<ctime>#include<cstdlib>#include<algorithm>usingnamespacestd;//非递归版本的二分查找法intBinarySearch1(inta[],intn,intkey){intlow=0;inthigh=n-1;intmid;if(key......
  • 数学最终讲义答案1-8章
    格式:练习题所在页-答案所在页12-454:15-454:24-455:26-455:答案455页笔误:41-456:42-456:59-457:65-458:答案458页笔误:答案458页笔误:86-459:98-459:106-460:118-461:141-462:158-462:答案462页笔误:158-463:182-464:188-464:202-465: ......