- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
构造法——解题的“最短路径” 构造法及其特点 常用的构造法 构造法的优、缺点 构造法及其特点 常用的构造法 直接构造 分类构造 归纳构造 构造法的优、缺点 直接构造 一种直接对目标对象进行考察的构造方法。 探索是直接构造的灵魂,在构造的背后,往往隐蔽着反反复复的尝试。 实际应用中,首先对于目标对象进行观察,发现一般性的规律,加以概括总结后运用至构造中。 在熟悉的事物中寻找,在特殊的事物中寻找,接合目标,不断地调整甚至改变方案,直至实现构造 例一:三臂起重机(1) 例一:三臂起重机(2) 例一:三臂起重机(3) 例一:三臂起重机(4) 例一:三臂起重机(5) 例一:小结 例二:区间染色问题(1) 例二:区间染色问题(2) 例二:区间染色问题(3) 例二:区间染色问题(4) 例二:小结 分类构造 例三:棋盘遍历问题(1) 例三:棋盘遍历问题(2) 例三:棋盘遍历问题(3) 例三:棋盘遍历问题(4) 例三:小结 归纳构造 例四:赛程安排问题(1) 例四:赛程安排问题(2) 例四:赛程安排问题(3) 例四:赛程安排问题(4) 例四:赛程安排问题(5) 例四:赛程安排问题(6) 例四:赛程安排问题(7) 例四:小结 把这2n名选手分为两组: 强组:A1A2……Aj-1,B1B2……B2n-j+1 共2n名。 弱组:AjAj+1……Ak,B2n-j+2 B2n-j+3……B2n-1 B2n……Bl,共2n名。 容易看出,强组中的任一人均比弱组中的任一人强。 由归纳假设,两组均只需n天(并列进行)就可以确定组内的强弱,又由于强组全体排在弱组前,故整体名次也确定。加上初始时用的一天时间,总共n+1天,这2n+1名选手名次确定,结论对于n+1时也成立。 加强后的结论成立,故之前的结论也成立。回到原来的问题,就很容易解决了。由上述结论推出,A1A2A3……A2n,B1B2B3……B2n,只需n+1天就可以合并这两个组。总共需要的天数为n*(n+1)/2+(n+1)=(n+1)*(n+2)/2,即n+1时也可以完成赛程安排。 * IOI’2002冬令营讲稿 * IOI’2002冬令营讲稿 ——解题的最短路径 构造法 Back 什么叫构造法: 直接列举出满足条件的对象或反例,导致结论的肯定与否定,间接构造某种对应关系,使问题根据需要进行转化的方法。 构造法绝不是简单的尝试,也不是一时的运气 构造法使用的前提:存在性 构造法特别适用于竞赛中求单个可行解的题目 Back Back 优点: 时空复杂度小,编程复杂度小 缺点: 思维复杂度大 Back 给出了三个数p、q、n,要构造若干个三元组,符合以下四个要求: (1)三元组必须具备形式(i,i+p,i+p+q)(i,i+q,i+p+q)之一。 (2)所有三元组中的元素不得超过n+p+q。 (3)1,2,……,n+p+q这n+p+q个数每个至多出现一次。 (4)这些三元组必须涵盖1,2,……,n这n个自然数。 n≤300000,p+q≤60000。 很自然想到构造法。观察以下几个例子: p=1,q=1 (1,2,3) (4,5,6) (7,8,9) …… p=2,q=4 (1,3,7) (2,4,8) (5,9,11) (6,10,12) …… p=3,q=1 (1,4,5) (2,3,6) (7,10,11) …… p=1,q=3 (1,2,5) (3,4,7) (6,9,10) (8,11,12) …… 容易得出下面类似贪心的方法: 设已经构造了s个三元组(x1,y1,z1)、(x2,y2,z2)、……(xs,ys,zs),满足x1x2……xs。 取上面s个三元组中没有出现过的最小自然数r r+p没有出现过 ? (xs+1,ys+1,zs+1)=(r,r+p,r+p+q) r+p出现过 ? (xs+1,ys+1,zs+1)=(r,r+q,r+p+q) 这个方法马上被下面的例子推翻: p=3,q=2 (1,4,6) (2,5,7) (3,?,8) ?处无论填5还是6均已出现过 但是如果换一种填法: p=2,q=3 (1,3,6) (2,4,7) (5,8,10) (9,11,14) …… 交换一下p、q的位置,再应用上面的填法 启发我们,应用上述填法的条件是:p≤q,即当pq时,先交换p、q的位置。这仅仅是一个猜想,需要经过实践以及证明。 经过许多尝试,这种构造法仍然满足要求。因此,我们猜测本题完整的构造方法如下: 若pq,则交换p、q的值,不影响构造的结果。 设已经构造
文档评论(0)