- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国家集训队2005-论文集 唐文斌
正难则反–浅谈逆向思维在解题中的应用
绍兴市第一中学 唐文斌
【摘要】逆向思维是一种思考问题的方式,它有悖于通常人们的习惯,而正是这一特点,使得许多靠正常思维不能或是难于解决的问题迎刃而解。本文通过几个例子,总结了逆向思维在信息学解题中的应用。
【关键字】
逆向思维 容斥原理 参数搜索
二分 动态规划 记忆化
【正文】
引言
我们先看一个简单的问题:
平面上有四个点,构成一个边长为1的正方形。现在进行一种操作,每次可以选择两个点A和B,把A关于B对称到C,然后把A去掉。
求证:不可能经过有限次操作得到一个边长大于1的正方形
操作后的结果是相当复杂的,如果我们从正面着手,很难证明命题。不妨从反面来看问题:观察可以发现,每一步操作都是可逆的。即,我们如果可以把正方形变大,也可以把正方形变小。
证明:
不妨设四个顶点都是整点。
假设我们可以通过有限次操作得到一个边长大于1的正方形,那么我们把所有操作反过来对原正方形进行操作,我们可以得到一个边长小于1的正方形。
因为四个顶点都是整点,操作之后,点的坐标依然是整数。所以我们得到一个边长小于1且四个点都是整点的正方形。这显然不可能。
所以假设不成立。命题得证。
上面的例子说明了逆向思维在数学问题中的应用。山重水复疑无路,应用逆向思维,换个角度看问题,便柳暗花明又一村了。
例一、Dinner Is Ready
题目大意:
妈妈烧了M根骨头分给n个孩子们,第i个孩子有两个参数Mini和Maxi,分别表示这个孩子至少要得到Mini根骨头,至多得到Maxi根骨头。
输入:
第一行包含两个数n(0n≤8) , M(0M),表示孩子数量和骨头的数量。
接下来n行分别输入Mini和Maxi (0≤Mini≤Maxi≤M)
输出:
输出一个整数,表示妈妈有多少种分配方案(骨头不能浪费,必须都分给孩子们)
初步分析:
该题模型很简单,即求如下方程组的整数解的个数:
我们知道,方程组简单形式的整数解个数为
设Yi = Xi + Mini ,则原方程组转化为
对于下界限制,我可以通过换元得到简单形式,但是因为有上界的限制,我们似乎还无法直接计算出答案。
应用逆向思维:
设S为全集,表示满足Xi≥Mini的整数解集。
设为S中满足约束条件Xi≤Maxi的整数解的集合,为在S中的补集,即满足XiMaxi。
无法计算,但是,可解!!!我们希望把的计算转化到可解的。
于是: 这是一种容斥原理的形式。至此,问题已经解决。我们应用逆向思维,在原集合的模不可解的情况下,通过可解的得到答案。并给出了一个基于容斥原理的算法。时间复杂度为O(2n * (n+M))。
例二、Greedy Path
题目大意:
有n个城市,被m条路连接着。最近成立了一些旅行社,在这些城市之间给旅行者们提供服务。旅行者从城市i到城市j需要付给旅行社的费用是Ci,j,需要的时间为Ti,j 。很多旅行者希望加入旅行社,但是旅行社只有一辆车。于是旅行社的老板决定组织一次旅行大赚一笔。公司里的专家需要提供一条使得贪心函数F(G)最大的回路G。F(G) 等于总花费除以总时间。但是没有人找到这样的回路,于是公司的领导请你帮忙。
输入:
第一行包含两个数n(3≤n≤50),m 分别表示点数和边数。
接下来m行每行包含一条路的描述。输入四个数,A,B,CA,B,TA,B(0≤CA,B≤100,0≤TA,B≤100)
输出:
如果不存在这样的路,输出0。
否则输出回路中包含的城市个数,然后依次输出通过的城市的顺序。如果有很多条这样的路,输出任意一条。
初步分析:
题目要求是求一条回路,但不是边权和最大或者最小,所以我们不能直接使用经典算法。
设G = (V , E),S为G中所有回路C = (V’ , E’)组成的集合。
我们的目标是找到集合S中的一条回路使得F(C)取到最大值:
应用逆向思维:
如果我们知道C* = (V*,E*)S是一条最优回路,那么
于是我们定义函数 o(t) : o(t) =
我们做一个猜想:如果有o (t*)=0,那么存在C* = (V*,E*)S 满足
我们认为C*就是一条最优回路。
证明:假设存在另一条回路C1= (V1,E1)S更优,则:
但是这与o(t*) = 0矛盾。所以C*是一条最优回路。
如果t*是最优答案,则存在:
(性质一)
于是我们就得到了算法:
我们从一个包含t*的区间(tl , th)开始。(例如tl = , th = )
每一次,选取tl 与 th的中点t , 计算O(t)。
O(t)的计算方法:
对于边eE , 设一个新的参数We = Ce – t * Te
用Floyd算法计算有向图的
您可能关注的文档
- 园丁职业生涯的规划书.doc
- 围绕中心把文章写具体教后反思.doc
- 国中部大队接力赛预赛成绩和决赛班级道次表.doc
- 国五的标准消防车图片价格.docx
- 国产老电影19202007-.pdf
- 园林植物昆虫主要目、科的概述.doc
- 固体物理的的答案.doc
- 固定式液压破碎机技术性能和特点.doc
- 国企领导人员廉洁从业规定的汇编.doc
- 国内公民结婚登记的流程.docx
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)