SICP 习题2.10 区间除法 被除区间横跨0的问题

线段树详解 (原理,实现与应用) 线段树详解 By 岩之痕 一:综述 线段树是一种可以快速进行区间修改和区间查询的数据结构。点修改,区间修改和区间查询的复杂度都是O(log2(n)) 并且,线段树可以维护很多种类的信息。说到线段树就不得不提一下树状数组,树状数组维护的信息必须满足区间减法,因为树状数组只是维护1到X的信息,通过相减来得到区间信息,代码简单而且速度快,占用空间又少于线段树,所以一般情况下可以用树状数组的地方就 阅读详情
横跨0会导致除法的结果是错的,因为x0是没有结果的
(define (add-interval x y)
  (make-interval (+ (lower-bound x) (lower-bound y))
         (+ (upper-bound x) (upper-bound y))))

(define (mul-interval x y)
  (let ((p1 (* (lower-bound x) (lower-bound y)))
    (p2 (* (lower-bound x) (upper-bound y)))
    (p3 (* (upper-bound x) (lower-bound y)))
    (p4 (* (upper-bound x) (upper-bound y))))
    (make-interval (min p1 p2 p3 p4)
           (max p1 p2 p3 p4))))

(define (out-error)
  (newline)
  (display "ERROR"))

(define (div-interval x y)
  (if (and (< (lower-bound y) 0) (> (upper-bound y) 0))
    (out-error)
    (mul-interval x 
        (make-interval (/ 1.0 (lower-bound y))
                   (/ 1.0 (upper-bound y))))))

(define (sub-interval x y)
  (make-interval (- (lower-bound x) (upper-bound y))
         (- (upper-bound x) (lower-bound y))))

(define (width-interval z)
  (/ (- (upper-bound z) (lower-bound z)) 2.0))

(define make-interval cons)
(define lower-bound car)
(define upper-bound cdr)

(define print-interval
  (lambda (z)
    (newline)
    (display (lower-bound z))
    (display " ~ ")
    (display (upper-bound z))))

(define a (make-interval 1 2))
(define b (make-interval 3 4))
(newline)
(display "a : ")
(display (width-interval a))
(newline)
(display "b : ")
(display (width-interval b))

(print-interval (add-interval a b))
(newline)
(display "add : ")
(display (width-interval (add-interval a b)))

(print-interval (mul-interval a b))
(newline)
(display "mul : ")
(display (width-interval (mul-interval a b)))

(print-interval (div-interval a b))
(newline)
(display "div : ")
(display (width-interval (div-interval a b)))

(print-interval (sub-interval a b))
(newline)
(display "sub : ")
(display (width-interval (sub-interval a b)))

(define c (make-interval -1 2))
(div-interval a c)
百度贴吧爬虫实战:完整实现与使用指南 使用 csv 模块创建写入器,首先写入表头("标题" 和 "链接"),然后遍历帖子字典,将每个标题和链接作为一行写入文件。首先检查内容是否为空,然后通过查找 JSON 结构的起始({)和结束(})位置,提取有效的 JSON 片段。接着遍历帖子列表中的每个条目,提取标题文本和对应的链接,对于相对路径的链接会自动补全为完整的 URL。从 JSON 提取标题和链接此方法专门用于从解析后的 JSON 数据中提取帖子标题和对应的链接。提取到的标题和链接以字典形式返回,键为标题,值为对应的完整链接。 阅读详情

相关推荐

告别GPS,用Sentinel-1数据+Python实战SBAS-InSAR监测城市地面沉降(保姆级教程)

本文详细介绍了如何利用Sentinel-1数据和Python实现SBAS-InSAR技术监测城市地面沉降。通过保姆级教程,从环境配置、数据获取到干涉处理、时序分析和形变反演,逐步解析全流程技术细节,帮助读者掌握毫米级精度的形变监测方法,并以上海陆家嘴区域为例展示实际应用效果。

weixin_32771907的博客 534

P5629 【AFOI-19】区间与除法(ST,unordered_map,unique,思维,mp.find(j)!=mp.end()比mp[j]快)

传送门 题目: 输入输出样例 输入 #1 2 3 3 3 0 20 6 6 6 1 1 2 2 1 2 输出 #1 0 1 1 输入 #2 6 3 3 3 6 5 10 15 19 7 2 5 10 1 6 1 4 4 6 输出 #2 3 3 2 思路: 听说unordered_map的查找速度比map快 mp.find(j)!=mp.end()这里换mp[j]!=0会TLE 代码: #include <bits/stdc++.h> #include<unordered_map&gt

木静音yy的博客 476

别再只用CANape测数据了!手把手教你用ASAP2 Studio编辑A2L文件(附MAP文件更新避坑指南)

本文深入探讨ASAP2 Studio在ECU开发中的高阶应用,特别是如何利用其编辑A2L文件并同步更新MAP文件,提升测量标定效率。文章详细解析了ASAP2 Studio的双向同步能力、MAP文件更新全流程及变量管理技巧,帮助工程师避免常见错误,优化工作流程。

weixin_26833939的博客 506

【t094】区间运算

Time Limit: 1 second Memory Limit: 128 MB 【问题描述】 区间运算是数学的一个领域。在区间运算中,常量和变量并不表示为一个单独、精确的值,而是表示为一个有着上界和下界的区间 或范围。在普通的运算中,一个数量可以表示为数轴上的一个点;而在区间运算中,一个数量表示数轴上的一段,例如[3,5]表 示数轴上从3到5的一段。当精确的数值表示为区间时,...

546

Ubuntu升级遇到grub-efi-amd64-signed报错?3步搞定这个烦人的EFI目录问题

本文详细解析了Ubuntu系统升级时遇到的“grub-efi-amd64-signed”报错及“cannot find EFI directory”问题。通过剖析UEFI启动机制与EFI系统分区原理,提供了从诊断到修复的三步解决方案,帮助用户快速解决因EFI目录未挂载导致的升级中断,确保系统引导正常。

assembly8low的博客 584

hcaptcha无感验证码逆向实战:从接口分析到环境补全

本文详细解析了hcaptcha无感验证码的逆向实战过程。通过分析核心接口与加密逻辑,重点介绍了采用环境补全策略来模拟真实浏览器环境,从而绕过验证码检测。文章提供了从接口抓包、剖析hsw.js加密核心到使用Node.js搭建模拟环境的完整步骤,为自动化操作提供了一种稳健的解决方案。

weixin_29324401的博客 1150

区间算术学习笔记

区间算数是一种计算方法,它可以更加准确地描述数值的范围,对于解决涉及不确定性和误差的问题非常有用。本篇博客将详细介绍区间算数的基本概念、运算规则以及应用场景,帮助读者更好地理解和应用区间算数。

m0_72410588的博客 3980

BevFusion (5):逐行代码详解

论文中给出了Bevfusion的架构图,它的输入是多视角的相机和点云图,经过两个特定的head,分别用于做检测任务和分割任务。图1 Bevfusion 结构图Bevfusion因为有两个模态的输入:多视角相机和点云,所以对应两个分支:相机分支和点云分支。相机分支:输入6个视角的图片后,提取特征,然后经VT(View Transformer)转换之后得到相机的Bev特征。激光雷达分支:输入点云数据,经过Encoder编码得到体素化Lidar特征,然后沿z方向展平,得到Lidar Bev特征。

@bangbang的博客 3714

P5629 【AFOI-19】区间与除法 题解

的性质,才可以用两段有重复部分的区间信息合并出大区间的信息。也就是说,它们都可以用相交的两区间的并,推出大区间。进制下为自己的前缀,则后面的求解中肯定会使用前者而不是自己,此时就可以直接退出了。进制下位数越少的原数,它能消除的数越多。并向下取整后与一个被称作“原数”的数相等,则说这个数能被这个原数消除。中的数用了哪些原数去消除尽可能多的元素,最后也就可以。,如果在插入过程中发现了一个原数的结尾,即有一个原数在。我们把所有的原数按照。,这提示我们可以把原数的使用信息用一个。的询问,求在用原数尽可能多的消除。

UnderTheTimeの博客 2462

即插即用篇 | 手把手教你 YOLOv11 添加注意力机制 | 适用于【检测任务】【分类任务】【分割任务】【关键点任务】| 20+ 种全打通!

即插即用篇 | 手把手教你 YOLOv11 添加注意力机制 | 适用于【检测任务】【分类任务】【分割任务】【关键点任务】| 20+ 种全打通!

Coding... 2829

一文读懂 SAP BTP Application Router 的 Resource Files:从 xs-app.json 到本地开发的默认设置

本文详解SAP BTP中Application Router的资源文件配置与本地开发实践。核心包括:xs-app.json定义路由规则与安全策略,package.json声明依赖与启动脚本,resources/存放静态资源,default-services.json和local-destinations.json用于本地模拟云服务。文章通过真实案例展示如何配置静态资源直出、反向代理后端服务,并强调本地开发时的注意事项与常见问题解决路径。关键配置均提供示例代码,帮助开发者快速实现业务应用的部署与联调。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 176

SICP 习题 (2.10)解题总结: 区间除法中除于零的问题

SICP 习题 2.10 要求我们处理区间除法运算中除于零的问题。题中讲到一个专业程序员Ben Bitdiddle看了Alyssa的工作后提出了除于零的问题,大家留意一下这个叫Ben的人,后面会不断出现这个人,只要是这个人提到的事情一般是对的,他的角色定位是个计算机牛人。对于区间运算的除于零的问题,处理起来也比较简单,只需要判断除数是不是为零,除数为零就报错。对于一个区间来讲,所谓为零就是这个区间

keyboardOTA的专栏 4万+

数据中台:大数据平台,数据仓库(DM),数据中台之间的联系以及异同分析

大数据平台是一个技术平台。这个技术平台提供了对于大数据的分布式采集,存储,流处理和计算,实时分析等能力。在没有大数据平台前也有数据集成和管理的平台,这种平台可以实现对结构化数据本身的采集,集成和管理。 管理平台,是在原生的大数据生态的基础之上,为了更好的管理集群服务,管理集群的资源,提供灵活SRE能力和资源核算审计能力的一系列工具和合称整体架构数据中台包括数据仓库的全部内容,数据仓库为数据中台提供了数据对外提供服务的基础资源,数据中台将数据仓库建设的投入价值进行最大化,以加快数据赋能业务的速度大家都知道数据

GIS摆渡人 2131

sicp 习题 2.6 ~ 2.10

2.6 [code="java"](define zero (lambda (f) (lambda (x) x))) (define (add-1 n) (lambda (f) (lambda (x) (f ((n f) x))))) ((zero 4) 3) (add-1 5 1)[/code] 2.7 [code="java"](define (add-interva...

zhangle 242

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

sicp 2.10

Exercise 2.10.  Ben Bitdiddle, an expert systems programmer, looks over Alyssa's shoulder and comments that it is not clear what it means to divide by an interval that spans zero. Modify Alyssa's code...

138

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数据结构总结

一.线段树 线段树其实只是一种工具。我们不应该把它当做一道题的入手点,而只是当我们分析题目发现需要它时,才会去使用它。 基础操作: 1.区间加法,区间求和。 线段树lazytag入门操作 2.01覆盖翻转/01排序。 线段树维护区间覆盖标记和翻转标记,特别注意标记之间的相互影响。 例题:WOJ2832「TJOI / HEOI2016」排序 代码: #include<bits/stdc++.h...

weixin_44111457的博客 495

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

qduoj 一道非常简单的签到题

一道非常简单的签到题 发布时间: 2016年7月2日 20:32   最后更新: 2016年7月2日 21:48   时间限制: 1000ms   内存限制: 128M 描述 给你k,a,b三个数,问[a,b]区间内有多少个数可以整除k。(n / k == 0) 输入 多组输入,即输入包括多行,每行三个数k,a,b。 其中1 ≤ k ≤ 10^18,-10

jerans的博客 1565

除法分块求区间约数和

LL get_sum(LL n){ LL ans = 0; for(LL l = 1,r;l &lt;= n;l = r + 1){ r = n / (n / l); ans += (n / l) * (l + r) * (r - l + 1) / 2; } return ans; }  

七九河开的博客 482

Luogu5629 【AFOI-19】区间与除法

原题链接:https://www.luogu.com.cn/problem/P5629 区间与除法 题目背景 SY 好不容易才解出QM给她的数学题,在恰午饭的时候,QM 向她的脑洞里塞了个幻想的泡泡……SY 戳开一看,又是长长的一串数字! SY 实在是不想思考了,她决定用小学的除法消灭她脑洞里的数字. 题目描述 定义 opopop 操作意义为将当前数除以 ddd 并向下取整. SY 现在有 mmm 个“原数”,若一个数经过若干次 opopop 操作(包括 000 次)后能变为这个“原数”,那么这个数是可以被

ShadyPi的IT笔记 516

whu 1464 Deal whth Numbers 线段树维护区间除法

题意   N个数,M个操作,操作有三类:   1. D,A,B,C 区间[a,b]中 大于0 的数 除以C,计算机整除   2. M,A,B,C 区间[a,b]所有数减去C   3. S,A,B 区间[a,b]求和 解法   区间更新和求和,线段树上延迟更新就可以了。主要是除法如何维护。   这里的数C <= 5*1E5 , 因为大于0才除,所以每个数最多...

weixin_30687811的博客 255

sdoj2790 市场(线段树区间整除)

题意: 分析:区间整除和区间开根号有点像。有人也叫势能线段树,由于每次区间整除之后区间的数都至少要减少到原来的一半,logai次之后区间的数就变为 1了。加上区间加操作,操作的次数也不会多太多。维护一个区间 max、min和sum,当max-max/k=min-min/k时,就相当于区间每个数都减去max-max/k。(最大值整除后作差与最小值整除后作差的差值相同,则可以把差值打标记,即由除变...

常胜将军的博客 857

LOJ 6029 市场--线段树区间更新之分块除法

题目链接 参考链接 一、题意: 四种区间操作:加、除(向下取整)、询问区间和、询问最小值 二、思路: 第一想到的是将除d变成乘1/d,但是由于不一定是整除,所以除法和加法运算顺序不同,会影响结果。比如 3和3,先除2后加结果是2,先加后除2答案是3 第二既然区间更新不好做,那可以暴力单点更新?显然这种第51号元素的做法妥妥的TLE~ 所以我们要想怎么保持区间更新,然后尽量把除法...

zjyang12345的博客 624

SICP 习题2.19 重写count-change 过程

(define (cc amount coin-values) (cond ((= amount 0) 1) ((or (< amount 0) (no-more? coin-values)) 0) (else (+ (cc amount (except-first-denomination coin-values)) (cc (

NM的专栏 1222

SICP 练习1.35使用不动点发寻找黄金分割律

前几个输出是书上介绍不动点法的几个样例(define tolerance 0.00001)(define (fixed-point f first-guess) (define (close-enough? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (try guess) (let ((next (f guess)))

NM的专栏 1107

SICP 习题2.8 区间减法

我的想法是区间减法是a区间的每一个数减去b区间的每一个数,这些相减的结果在一个区间上。也就是x的下界-y的上界是最小的,x的上界-y的下界是最大的。其他所有结果都在这两个数之间。(define (add-interval x y) (make-interval (+ (lower-bound x) (lower-bound y)) (+ (upper-bound x) (upp

NM的专栏 1043
上一篇: SICP 习题2.9 区间宽度
下一篇: SICP 习题2.11 改写div-interval 分情况讨论
_NMfloat_
博客等级 码龄12年 7粉丝 315原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值