摘要:
1. 每次只能爬一级或二级每次只能爬 1 级或者 2 级,某楼梯共有 n 级,问共有多少种走法?确实是斐波那契数列,只不过,初始值不太一样;对与 1 级楼梯 ⇒ 1 种对于 2 级楼梯 ⇒ 2 种int numWays(int n){ if (n <= 2) r... 阅读全文
摘要:
1. 每次只能爬一级或二级每次只能爬 1 级或者 2 级,某楼梯共有 n 级,问共有多少种走法?确实是斐波那契数列,只不过,初始值不太一样;对与 1 级楼梯 ⇒ 1 种对于 2 级楼梯 ⇒ 2 种int numWays(int n){ if (n <= 2) r... 阅读全文
摘要:
1. 循环输入输出交互Python在线笔试琐碎求两个整数 A+B 的和。while True: try: (n, m) = (int(x) for x in raw_input().split()) print(n+m) exc... 阅读全文
摘要:
前言基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库)、Caffe(深度学习库)、Dlib(机器学习库)、libfacedetection(人脸检测库)、cudnn(gpu加速库)。 用到了一个开源的深度学习模型:VGG model。 最终... 阅读全文
摘要:
1. 从已有 vector(或数组)中复制vector a{....};int an = a.size();int half = an/2;vector a0(a.begin(), a.begin()+half);vector a1(a.begin()+half, a... 阅读全文
摘要:
1. 从已有 vector(或数组)中复制vector a{....};int an = a.size();int half = an/2;vector a0(a.begin(), a.begin()+half);vector a1(a.begin()+half, a... 阅读全文
摘要:
1. 问题Karatsuba 大整数的快速乘积算法的运行时间(时间复杂度的递推关系式)为 T(n)=O(n)+4⋅T(n/2),求其最终的时间复杂度。2. 主定理的内容 3. 分析所以根据主定理的判别方法,可知对于 T(n)=O(n)+4⋅T(n/2),a=4,b=... 阅读全文
摘要:
1. 问题Karatsuba 大整数的快速乘积算法的运行时间(时间复杂度的递推关系式)为 T(n)=O(n)+4⋅T(n/2),求其最终的时间复杂度。2. 主定理的内容 3. 分析所以根据主定理的判别方法,可知对于 T(n)=O(n)+4⋅T(n/2),a=4,b=... 阅读全文
摘要:
主要针对:二进制表示法,以及十进制表示法;1. 获取位数已知该数 n 采用十进制进行表示二进制形式的位数:⌊log2n⌋+1十进制形式的位数:⌊log10n⌋+12. 截断(保留前/后 m 位)二进制:保留前 m 位 ⇒ 需要右移 n-m 位;十进制:保留前 m 位 ... 阅读全文
摘要:
主要针对:二进制表示法,以及十进制表示法;1. 获取位数已知该数 n 采用十进制进行表示二进制形式的位数:⌊log2n⌋+1十进制形式的位数:⌊log10n⌋+12. 截断(保留前/后 m 位)二进制:保留前 m 位 ⇒ 需要右移 n-m 位;十进制:保留前 m 位 ... 阅读全文
摘要:
Karatsuba 快速乘积算法是具有独特合并过程(combine/merge)的分治算法(Karatsuba 是俄罗斯人)。此算法主要是对两个整数进行相乘,并不适用于低位数(如 int 的 32 位的整数)。1. 大整数乘法的实现所谓的大整数,就是超出编程语言关... 阅读全文
摘要:
Karatsuba 快速乘积算法是具有独特合并过程(combine/merge)的分治算法(Karatsuba 是俄罗斯人)。此算法主要是对两个整数进行相乘,并不适用于低位数(如 int 的 32 位的整数)。1. 大整数乘法的实现所谓的大整数,就是超出编程语言关... 阅读全文
摘要:
进位(carry),借位(borrow);1. 加减 以下仅讨论,两位数的四则运算的情况;加:进位,在之前没有进位的情况下,9+9=18,最高进 1 位,两数相加,不可能进出一个 2 出来,两数相加都不可能进出一个 2 出来; 进位是从低位开始,加数和被加数的两... 阅读全文
摘要:
进位(carry),借位(borrow);1. 加减 以下仅讨论,两位数的四则运算的情况;加:进位,在之前没有进位的情况下,9+9=18,最高进 1 位,两数相加,不可能进出一个 2 出来,两数相加都不可能进出一个 2 出来; 进位是从低位开始,加数和被加数的两... 阅读全文
摘要:
本文仅求对数的整数部分:int log(int n, int base){ int i = 1, cnt = 0; while (i*base < n){ i *= base; ++cnt; } return cnt... 阅读全文
摘要:
本文仅求对数的整数部分:int log(int n, int base){ int i = 1, cnt = 0; while (i*base < n){ i *= base; ++cnt; } return cnt... 阅读全文
摘要:
动态规划三大重要概念:最优子结构,边界,状态转移公式(问题规模降低,如问题由 n 的规模降低为 n−1 或 n−2 及二者之间的关系);0. 爬台阶F(n)⇒F(n−1)+F(n−2)F(n−1),F(n−2) 即是 F(n) 的最优子问题;F(1)=1,F(2)=2... 阅读全文
摘要:
动态规划三大重要概念:最优子结构,边界,状态转移公式(问题规模降低,如问题由 n 的规模降低为 n−1 或 n−2 及二者之间的关系);0. 爬台阶F(n)⇒F(n−1)+F(n−2)F(n−1),F(n−2) 即是 F(n) 的最优子问题;F(1)=1,F(2)=2... 阅读全文
摘要:
实现:(nm)既需要计算组合的总数 (32)=3;也需要分别获得每一种组合的情形,用于穷举搜索; 1, 2; 1, 3; 2, 31. 递归实现// picked + toPick == mvoid comb(int n, vector& picked, int to... 阅读全文
摘要:
实现:(nm)既需要计算组合的总数 (32)=3;也需要分别获得每一种组合的情形,用于穷举搜索; 1, 2; 1, 3; 2, 31. 递归实现// picked + toPick == mvoid comb(int n, vector& picked, int to... 阅读全文