分治
fushenliao
Less is More
展开
-
ZSC 1114 又见二进制 (递归)
Description 任何一个正整数都可以用2的幂次方表示。例如:137 = 2^7 + 2^3 + 2^0 同时约定方次用括号来表示,即a^b 可表示为a(b)。 由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7 = 2^2 + 2 + 2^0 (2^1用2表示) 3 = 2 + 2^0 所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如原创 2016-02-25 22:14:19 · 742 阅读 · 0 评论 -
分治法求逆序对
逆序对是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i对于这个问题,很容易能想到n^2的算法,但是显然很多时候这个复杂度太高了,我们今天谈谈nlogn的算法。对于求逆序对,有很多种nlogn的算法,其中一种就是分治法。其实,分治法求逆序对的算法就是归并排序的思想假设我们要统计数列a中的逆序对的个数,我们可以先将数列a从中间分成两半得到数组b和c于是我们有3原创 2017-04-13 23:44:29 · 1571 阅读 · 0 评论 -
分治画分形图 之 谢尔宾斯基三角形
谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子。它的豪斯多夫维是log(3)/log(2) ≈ 1.585。今天我们来学学如何用代码生成任意第n图形对于这个图形,显然我们知道它的每个子结构都是相同的,所以具有递归的性质所以我们把握好递归边界,递归分治往下画就行了代码:#inclu原创 2017-04-14 13:10:26 · 3752 阅读 · 0 评论