
分治算法
省下洗发水钱买书
个人邮箱:chenyang1001@yeah.net
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
整数因子分解
文章目录题目描述样例输入样例输出解题代码题目描述整数因子分解问题。大于1的正整数n可以分解为:n=x1*x2*…*xm。例如,当n=12 时,共有8种不同的分解式:12=12;12=6*2;12=4*3;12=3*4;12=3*2*2;12=2*6;12=2*3*2;12=2*2*3。对于给定的正整数n,计算n共有多少种不同的分解式。样例输入12样例输出8解题代码#include <iostream>using namespace std;int原创 2020-12-20 17:35:02 · 311 阅读 · 1 评论 -
大整数乘法思想及其分析
文章目录问题方法一方法二方法三问题设X和Y都是n位二进制整数,现在要计算它们的乘积XY。提供三种方法计算XY方法一模拟我们日常所做的竖式乘法可以很明显的看出来这种模拟竖式乘法的时间复杂度为O(n2)方法二我们采用分治的思想,将 n 位二进制整数的 X 和 Y 都分成2段,每段的长为n/2由此可以得到X = A2n/2 + BY = C2n/2 + DXY = ( A2n/2 + B )( C2n/2 + D ) = AC2n + (AD + BC)2n/2 + BD这原创 2020-12-19 09:34:56 · 1121 阅读 · 0 评论 -
棋盘覆盖问题题解
文章目录问题代码问题在一个2k × 2k个方格组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一特殊棋盘。现用若干个L型骨牌覆盖在一个给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖我们先来看一个k = 2时的棋盘覆盖问题而骨牌的形状如下对于k = 2的特殊棋盘,使用的骨牌数为 (22 × 22 -1) /3 = 5个同理递推到k = n 的特殊棋盘中,使用的骨牌数为**(2n × 2n - 1)/3 个**那我们怎么去解决原创 2020-12-19 09:34:19 · 1029 阅读 · 0 评论