当前位置: 首页 > news >正文

重启——二分

整数二分


    while (m -- )
    {
        int x;
        scanf("%d", &x);

        int l = 0, r = n - 1;
        while (l < r)//模板一
        {
            int mid = l + r >> 1;
            if (q[mid] >= x) r = mid;
            else l = mid + 1;
        }

        if (q[l] != x) cout << "-1 -1" << endl;
        else
        {
            cout << l << ' ';

            int l = 0, r = n - 1;
            while (l < r)//模板二
            {
                int mid = l + r + 1 >> 1;
                if (q[mid] <= x) l = mid;
                else r = mid - 1;
            }

            cout << l << endl;
        }
    }

浮点数二分

	while(r-l>1e-6) //-几比结果需要的精度多两位,如保留4位,则r-l>1e-6
	{
		double mid = l+r >>1;
		if(mid*mid>=x) r=mid;
		else l = mid; 
	}
	原理:区间长度极小时可视为一个数字

相关文章:

  • Windows 下免费开源的多格式文件差异对比工具
  • php处理图片出现内存溢出(Allowed memory size of 134217728 bytes exhausted)
  • Redis存储⑩Redis的事务_弱化的原子性
  • DeepSeek 提示词:定义、作用、分类与设计原则
  • 内容中台架构下智能推荐系统的算法优化与分发策略
  • Vue3 状态管理 - Pinia
  • 基于深度学习模型`U-Net`和`segment_anything`(SAM)库的实现示例
  • DuodooBMS源码解读之 cncw_ledger模块
  • Python连接MySQL数据库图文教程,Python连接数据库MySQL入门教程
  • 我的世界1.20.1forge开发教程(6)——自定义燃料,熔炼规则、配方
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter19-表单脚本
  • 《Python实战进阶》专栏 No.3:Django 项目结构解析与入门DEMO
  • ubuntu磁盘清理垃圾文件
  • LeetCode刷题---二分查找---441
  • 清华大学《DeepSeek与AI幻觉》(无套路免费分享)
  • lerobot调试记录
  • 传统的自动化行业的触摸屏和上位机,PLC是否会被取代?
  • Web 开发中的 5 大跨域标签解析:如何安全地进行跨域请求与加载外部资源
  • 路由基本配置
  • 神经网络八股(三)
  • 美媒:鲁比奥称特朗普不出席二十国集团领导人会议
  • 上海合作组织减贫和可持续发展论坛开幕,沈跃跃宣读习近平主席贺信
  • 俄乌直接谈判勉强收场,特朗普再次“电话外交”能否有用?|907编辑部
  • 历史缝隙里的人︱觑功名如画饼:盛世“做题家”的攀爬与坠落
  • 国际观察丨美中东政策生变,以色列面临艰难选择
  • 世卫大会中国代表团:中国深入参与全球卫生治理,为构建人类卫生健康共同体贡献中国力量