- 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文档。上传文档
查看更多
(算法合集之浅谈补集化思想在统计问题中的应用
浅谈补集转化思想在统计问题中的应用
目录
前言…………………………………………………………………2
关键字………………………………………………………………2
摘要…………………………………………………………………2
正文…………………………………………………………………2
例一………………………………………………………………3
题目大意……………………………………………………3
初步分析……………………………………………………3
深入思考……………………………………………………3
补集转化……………………………………………………4
小结…………………………………………………………5
例二………………………………………………………………6
题目大意……………………………………………………6
初步分析……………………………………………………6
几个工具……………………………………………………7
补集转化……………………………………………………7
小结…………………………………………………………8
总结…………………………………………………………………9
前言
不管是在实际生活中还是在信息学竞赛里,都常常会遇到统计问题,即对满足某些性质的对象进行计数的问题。
解决统计问题有一些常用的方法比如离散化、极大化、二分、事件表等等,利用它们基本上可以解决大多数的统计问题。我们不妨将这些方法称为解决统计问题的常规方法。
然而世上的任何事物都是既有普遍性,又有特殊性的。确实存在一部分统计问题,用常规方法是很难甚至是根本无法解决的。对于这些问题,就应该具体情况具体分析,采用非常规的解法。
本文中将要讨论的就是这些非常规解法中的一种——利用补集转化思想解决统计问题。
关键字
统计问题 常规/非常规(统计)方法 枚举 时间/思维/编程复杂度
补集转化 组合计数 有序化 枚举对象 枚举量
摘要
本文通过对两个例题——单色三角形问题(POI9714)和海战游戏(改编自Ural1212),探讨了补集转化思想在统计问题中的应用,分析比较了补集转化思想在两个例子中的作用效果和价值。
最后得出结论:补集转化思想应用于统计问题中往往有着很好的效果,我们应该注意培养逆向思维,掌握好这种非常规的统计方法。
正文
统计问题,我们认为是对于满足某些性质的对象进行计数的问题。既然是计数,那么不可避免地,其解法或多或少地建立于枚举之上。在很多情况下,“枚举”往往是低效的代名词。因此,我们通常所见到的统计问题,其最好解法动辄就达到O(n2)、O(n3)的时间复杂度,也因此统计问题的规模往往不是很大,一般都在1000以内。
如果光是这样也就罢了,更糟糕的是很多统计问题,按照直观的想法设计出来的算法往往具有令人望而生畏的时间复杂度:要么n的指数过高,要么题目中给的n就是很大的,或者时间复杂度是关于另外一个很大的量M(往往是表格的尺寸、图的边数等等)的表达式……总之,这个时候的统计问题实在不那么讨人喜欢。
于是我们又需要利用很多技巧来降低复杂度,离散化和极大化思想、二分法、事件表等技术都是非常有用的,在它们的帮助下,我们成功地解决了非常多的刁钻的统计问题,以至于这些技巧也已经成了理所当然的“常规”方法,很多本来棘手的统计问题也成了常规题。然而这些方法显然也有不那么奏效的时候,这时我们就需要一些非常规的方法来解决一些更加棘手的问题。
这些非常规方法之一就是利用补集转化思想来帮助解决统计问题。补集转化思想在很多方面有着广泛的应用,让我们来看看在解决统计问题方面它又有哪些精彩表现吧!
例一 单色三角形问题(POI9714 TRO)
题目大意
空间里有n个点,任意三点不共线。每两点之间都用红色或黑色线段(只有一条,非红即黑!)连接。如果一个三角形的三条边同色,则称这个三角形是单色三角形。对于给定的红色线段的列表,找出单色三角形的个数。例如图一中有5个点,10条边,形成3个单色三角形。
输入点数n、红色边数m以及这m条红色的边所连接的顶点标号,输出单色三角形个数R。3=n=1000,0=m=250000。
初步分析
很自然地,我们想到了如下算法:用一个1000*1000的数组记录每两个点之间边的颜色,然后枚举所有的三角形(这是通过枚举三个顶点实现的),判断它的三条边是否同色,如果同色则累加到总数R中(当然,初始时R为0)。
这个算法怎么样呢?姑且不论它非常奢侈地需要一个1M的大数组(POI97的时候还没有大内存),它的时间复杂度已经高达O(C(n,3)),也就是O(n3)的级别。对于n最大达到1000的本题来说,实在不能说是个好算法。
那些常规的技巧能不能用到本题上呢?离散化和极大化看起来跟本题毫不沾边。由于本题的限制条件非常少,也不是求最值型的计
文档评论(0)