- 1、本文档共187页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图3 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 分析 如果精确到小数点后两位,可用简单的枚举法:将x从-100.00 到100.00(步长0.01) 逐一枚举,得到20000个 f(x),取其值与0最接近的三个f(x),对应的x即为答案。而题目已改成精度为小数点后4位,枚举算法时间复杂度将达不到要求。 直接使用求根公式,极为复杂。加上本题的提示给我们以启迪:采用二分法逐渐缩小根的范围,从而得到根的某精度的数值。 具体方法如下: 分析 A、当已知区间(a,b)内有一个根时,用二分法求根,若区间(a,b)内有根,则必有f(a)·f(b)0。重复执行如下的过程: (1)若a+0.0001b或f((a+b)/2)=0,则可确定根为(a+b)/2并退出过程; (2)若f(a)* f((a+b)/2)0,则由题目给出的定理可知根在区间(a,(a+b)/2)中,故对区间重复该过程; (3)若f(a)* f((a+b)/2)0 ,则必然有f((a+b)/2)* f(b)0 ,根在((a+b)/2,b)中,对此区间重复该过程。 执行完毕,就可以得到精确到0.0001的根。 分析 B、求方程的所有三个实根 所有的根的范围都在-100至100之间,且根与根之差的绝对值=1。因此可知:在[-100,-99]、[-99,-98]、……、[99,100]、[100,100]这201个区间内,每个区间内至多只能有一个根。即:除区间[100,100]外,其余区间[a,a+1],只有当f(a)=0或f(a)·f(a+1)0时,方程在此区间内才有解。若f(a)=0 ,解即为a;若f(a)·f(a+1)0 ,则可以利用A中所述的二分法迅速出找出解。 如此可求出方程的所有的解。 分治的应用(求方程的根) 例题2: 输入m,n,p,a,b,求方程f(x)=mx+nx-px=0在[a,b]内的根。m,n,p,a,b均为整数,且ab;m,n,p都大于等于1。如果有根,则输出,精确到1E-11;如果无方程根,则输出“NO”。 【样例】 equation.in equation.out 2 3 4 1 2 1.5071265916E+00 2.9103830457E-11 分析 由于f(x)单调递增函数,对于一个单调递增(或递减)函数,判断在[a, b]范围内是否有解,解是多少。常用的一种方法叫“迭代法”,也就是“二分法”。先判断f(a)·f(b)≤0,如果满足则说明在[a, b]范围内有解,否则无解。如果有解再判断x=(a+b)/2是不是解,如果是则输出解,结束程序,否则我们采用二分法,将范围缩小到[a, x)或(x, b],究竟在哪一半区间里有解,则要看是f(a)·f(x)0还是f(x)·f(b)0。 对于y x,我们需要用换底公式把它换成exp(xln(y)) ? 分治的应用(分段处理) 例题3:取余运算(mod.exe) 输入b,p,k的值,编程计算bp mod k的值。其中的b,p,k*k为长整型数。 【输入输出样例】 mod.in 2 10 9 mod.out 2^10 mod 9=7 分析 1、用高精度计算比较烦 2、转而用其他方法求解 (1)取模运算的一个规律:a*b mod k=(a mod k)*(b mod k) mod k (2)运用规律可以把样例数据分解:b19=b2*9+1=b 9b9b,其中的指数9可以继续分解为2×4+1,4再分解程2×2+0,2=1×2+0,1=0×1+1。反过来,我们可以从0出发,通过乘以2再加上1或0推得1,2,4,9,19,然后依次以这些数为指数的自然数除以k的余数。 分析 (3)不难看出,前面乘以2后要加上的1或0就是该数对应二进制数各位上的数字1或0。如,19=(10011)2 。求解的过程也就是将二进制数还原为十进制数的过程。 (4)综上所述,该题可采用分治得思想进行递推求解。 分治的应用(分段处理) 例题:求“逆序对”。 给定一整数数组A=(A1,A
您可能关注的文档
- donet通过注释生成帮助文档.doc
- dos at命令.doc
- Dos at命令,自动关机与重启.doc
- DOS基础.doc
- 《Java_Web应用开发技术实用教程》-王红第3章_JSP隐含对象.ppt
- 《操作系统》第4章 存储管理.ppt
- 《操作系统》第4章 存储管理1.ppt
- 《操作系统原理教程(第二版)》-第3章 存储器管理.ppt
- 《数据结构》总复习.ppt
- 《算法设计与分析》第08章.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
最近下载
- 《中国结核病预防控制工作技术规范(2020年版)》.PDF VIP
- 2023年北京市中考英语真题(含答案) .pdf VIP
- 南通大学2023-2024学年《病理学》期末考试试卷(A卷)附参考答案.docx
- 胸部损伤-教学课件.ppt VIP
- 某银行数据中心搬迁整体实施方案.pdf VIP
- 麦肯锡中国银行业CEO季刊(2020年秋)-麦肯锡-224页正式版.pdf VIP
- 国家公务员录用考试体检标准.doc VIP
- 入党申请书时事政治精选五篇.docx VIP
- 农村公路安全生命防护工程监理规划49943.doc VIP
- 高中英语3500词【打印版】乱序版3500词汇(带音标120页).pdf VIP
文档评论(0)