摘要: 1. 每次只能爬一级或二级每次只能爬 1 级或者 2 级,某楼梯共有 n 级,问共有多少种走法?确实是斐波那契数列,只不过,初始值不太一样;对与 1 级楼梯 ⇒ 1 种对于 2 级楼梯 ⇒ 2 种int numWays(int n){ if (n <= 2) r... 阅读全文
posted @ 2016-09-06 21:49 未雨愁眸 阅读(111) 评论(0) 推荐(0)
摘要: 1. 每次只能爬一级或二级每次只能爬 1 级或者 2 级,某楼梯共有 n 级,问共有多少种走法?确实是斐波那契数列,只不过,初始值不太一样;对与 1 级楼梯 ⇒ 1 种对于 2 级楼梯 ⇒ 2 种int numWays(int n){ if (n <= 2) r... 阅读全文
posted @ 2016-09-06 21:49 未雨愁眸 阅读(120) 评论(0) 推荐(0)
摘要: 1. 循环输入输出交互Python在线笔试琐碎求两个整数 A+B 的和。while True: try: (n, m) = (int(x) for x in raw_input().split()) print(n+m) exc... 阅读全文
posted @ 2016-09-06 21:26 未雨愁眸 阅读(181) 评论(0) 推荐(0)
摘要: 前言基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库)、Caffe(深度学习库)、Dlib(机器学习库)、libfacedetection(人脸检测库)、cudnn(gpu加速库)。 用到了一个开源的深度学习模型:VGG model。 最终... 阅读全文
posted @ 2016-09-06 20:53 未雨愁眸 阅读(1827) 评论(0) 推荐(0)
摘要: 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... 阅读全文
posted @ 2016-09-06 17:14 未雨愁眸 阅读(419) 评论(0) 推荐(0)
摘要: 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... 阅读全文
posted @ 2016-09-06 17:14 未雨愁眸 阅读(170) 评论(0) 推荐(0)
摘要: 1. 问题Karatsuba 大整数的快速乘积算法的运行时间(时间复杂度的递推关系式)为 T(n)=O(n)+4⋅T(n/2),求其最终的时间复杂度。2. 主定理的内容 3. 分析所以根据主定理的判别方法,可知对于 T(n)=O(n)+4⋅T(n/2),a=4,b=... 阅读全文
posted @ 2016-09-06 16:43 未雨愁眸 阅读(211) 评论(0) 推荐(0)
摘要: 1. 问题Karatsuba 大整数的快速乘积算法的运行时间(时间复杂度的递推关系式)为 T(n)=O(n)+4⋅T(n/2),求其最终的时间复杂度。2. 主定理的内容 3. 分析所以根据主定理的判别方法,可知对于 T(n)=O(n)+4⋅T(n/2),a=4,b=... 阅读全文
posted @ 2016-09-06 16:43 未雨愁眸 阅读(231) 评论(0) 推荐(0)
摘要: 主要针对:二进制表示法,以及十进制表示法;1. 获取位数已知该数 n 采用十进制进行表示二进制形式的位数:⌊log2n⌋+1十进制形式的位数:⌊log10n⌋+12. 截断(保留前/后 m 位)二进制:保留前 m 位 ⇒ 需要右移 n-m 位;十进制:保留前 m 位 ... 阅读全文
posted @ 2016-09-06 15:47 未雨愁眸 阅读(357) 评论(0) 推荐(0)
摘要: 主要针对:二进制表示法,以及十进制表示法;1. 获取位数已知该数 n 采用十进制进行表示二进制形式的位数:⌊log2n⌋+1十进制形式的位数:⌊log10n⌋+12. 截断(保留前/后 m 位)二进制:保留前 m 位 ⇒ 需要右移 n-m 位;十进制:保留前 m 位 ... 阅读全文
posted @ 2016-09-06 15:47 未雨愁眸 阅读(210) 评论(0) 推荐(0)
摘要: Karatsuba 快速乘积算法是具有独特合并过程(combine/merge)的分治算法(Karatsuba 是俄罗斯人)。此算法主要是对两个整数进行相乘,并不适用于低位数(如 int 的 32 位的整数)。1. 大整数乘法的实现所谓的大整数,就是超出编程语言关... 阅读全文
posted @ 2016-09-06 15:37 未雨愁眸 阅读(354) 评论(0) 推荐(0)
摘要: Karatsuba 快速乘积算法是具有独特合并过程(combine/merge)的分治算法(Karatsuba 是俄罗斯人)。此算法主要是对两个整数进行相乘,并不适用于低位数(如 int 的 32 位的整数)。1. 大整数乘法的实现所谓的大整数,就是超出编程语言关... 阅读全文
posted @ 2016-09-06 15:37 未雨愁眸 阅读(1220) 评论(0) 推荐(0)
摘要: 进位(carry),借位(borrow);1. 加减 以下仅讨论,两位数的四则运算的情况;加:进位,在之前没有进位的情况下,9+9=18,最高进 1 位,两数相加,不可能进出一个 2 出来,两数相加都不可能进出一个 2 出来; 进位是从低位开始,加数和被加数的两... 阅读全文
posted @ 2016-09-06 14:52 未雨愁眸 阅读(746) 评论(0) 推荐(0)
摘要: 进位(carry),借位(borrow);1. 加减 以下仅讨论,两位数的四则运算的情况;加:进位,在之前没有进位的情况下,9+9=18,最高进 1 位,两数相加,不可能进出一个 2 出来,两数相加都不可能进出一个 2 出来; 进位是从低位开始,加数和被加数的两... 阅读全文
posted @ 2016-09-06 14:52 未雨愁眸 阅读(694) 评论(0) 推荐(0)
摘要: 本文仅求对数的整数部分:int log(int n, int base){ int i = 1, cnt = 0; while (i*base < n){ i *= base; ++cnt; } return cnt... 阅读全文
posted @ 2016-09-06 12:14 未雨愁眸 阅读(163) 评论(0) 推荐(0)
摘要: 本文仅求对数的整数部分:int log(int n, int base){ int i = 1, cnt = 0; while (i*base < n){ i *= base; ++cnt; } return cnt... 阅读全文
posted @ 2016-09-06 12:14 未雨愁眸 阅读(403) 评论(0) 推荐(0)
摘要: 动态规划三大重要概念:最优子结构,边界,状态转移公式(问题规模降低,如问题由 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... 阅读全文
posted @ 2016-09-06 10:37 未雨愁眸 阅读(273) 评论(0) 推荐(0)
摘要: 动态规划三大重要概念:最优子结构,边界,状态转移公式(问题规模降低,如问题由 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... 阅读全文
posted @ 2016-09-06 10:37 未雨愁眸 阅读(206) 评论(0) 推荐(0)
摘要: 实现:(nm)既需要计算组合的总数 (32)=3;也需要分别获得每一种组合的情形,用于穷举搜索; 1, 2; 1, 3; 2, 31. 递归实现// picked + toPick == mvoid comb(int n, vector& picked, int to... 阅读全文
posted @ 2016-09-06 09:42 未雨愁眸 阅读(1700) 评论(0) 推荐(0)
摘要: 实现:(nm)既需要计算组合的总数 (32)=3;也需要分别获得每一种组合的情形,用于穷举搜索; 1, 2; 1, 3; 2, 31. 递归实现// picked + toPick == mvoid comb(int n, vector& picked, int to... 阅读全文
posted @ 2016-09-06 09:42 未雨愁眸 阅读(268) 评论(0) 推荐(0)
摘要: 当算法问题给出时,其实也就相当于给出了函数的输入和输出,也就是整个函数的接口形式。比如通配符范式与字符串的匹配问题, bool match(const string& patterns, const string& str);一些特殊情况一定要考虑周全(if, if,... 阅读全文
posted @ 2016-09-06 08:56 未雨愁眸 阅读(365) 评论(0) 推荐(0)
摘要: 当算法问题给出时,其实也就相当于给出了函数的输入和输出,也就是整个函数的接口形式。比如通配符范式与字符串的匹配问题, bool match(const string& patterns, const string& str);一些特殊情况一定要考虑周全(if, if,... 阅读全文
posted @ 2016-09-06 08:56 未雨愁眸 阅读(217) 评论(0) 推荐(0)
摘要: 不要重复制造轮子,而且你造的轮子未必比得上别人的;⇒ accumulate,累积容器中区间的和,可以指定初值;为什么 STL 中的容器和算法一定关于区间的操作一定是左闭右开的呢?int A[n]; ⇒ sort(A, A+n);vector ⇒ sort(A.b... 阅读全文
posted @ 2016-09-06 08:53 未雨愁眸 阅读(145) 评论(0) 推荐(0)
摘要: 不要重复制造轮子,而且你造的轮子未必比得上别人的;⇒ accumulate,累积容器中区间的和,可以指定初值;为什么 STL 中的容器和算法一定关于区间的操作一定是左闭右开的呢?int A[n]; ⇒ sort(A, A+n);vector ⇒ sort(A.b... 阅读全文
posted @ 2016-09-06 08:53 未雨愁眸 阅读(192) 评论(0) 推荐(0)