摘要: 倍增就是字面意思,成倍的增长,如果状态空间很大,通常的线性递推无法满足要求时,那么我们可以采用成倍增长的方式,只递推状态空间中在2的整数次幂位置上的值作为代表。而其他位置的值我们可以通过“任意整数可以表示成若干个2的次幂项的和”这一性质,使用之前求出的代表值拼成所需的值。所以使用倍增算法也要求我们问 阅读全文
posted @ 2019-10-10 16:52 楓羽 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 在程序设计中经常会用到很多下列的排序算法,这里将他们分成三类: 1. 选择排序、插入排序、冒泡排序 2. 堆排序、归并排序、快速排序 3. 计数排序、基数排序、桶排序 还有很多排序算法,可以参考算法导论中的章节。 1. 离散化 排序算法的第一个应用就是离散化。通俗的讲,“离散化”就是把无穷大的集合中 阅读全文
posted @ 2019-10-10 16:51 楓羽 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 二分法是一种随处可见却非常精妙的算法,经常能为我们打开解答问题的突破口。二分的基础的用法是在单调序列或单调函数中进行查找。因此当问题的答案具有单调性时,就可以通过二分把求解转化为判定(根据复杂度理论,判定的难度小于求解),这使得二分的运用范围变得广泛。进一步地,我们还可以扩展到通过三分发去解决单峰函 阅读全文
posted @ 2019-10-10 16:50 楓羽 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1. 前缀和 1. 一维数组前缀和 对于一个给定的序列A,它的前缀和数列S是通过递推能够求出的基本信息之一: $S[i] = \sum_{x=1}^i A[x]$ 一个部分和,即数列A某个下标区间内的数的和,可表示为前缀和相减的形式: $sum(l,r) = \sum_{x=l}^r A[x] = 阅读全文
posted @ 2019-10-10 16:49 楓羽 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1. 递推与递归的宏观描述 对于一个待求解的问题,我们由已知的某个小问题进而一步一步推向该问题的方法称为递推 递归正好与递推的方向相反,它是由大问题逐步分解为小问题,然后回溯到大问题进行解决的方法。 2. 递推与递归的简单应用 枚举形式 状态空间规模 一般遍历方式 多项式 nk,k为常数 循环、递推 阅读全文
posted @ 2019-10-10 16:49 楓羽 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1. 补码 由于CPU在进行设计的时候只进行了加法器的设计,所以在它只会处理加法操作,那么问题来了如何进行减法操作呢?例如:A-B,我们可以将其看作是A+(-B)的形式。这样在计算机内部就会出现负数的形式,所以就引入了补码的概念,补码就是对数字进行按位取反再加一的操作,补码在计算机中进行储存负数。 阅读全文
posted @ 2019-10-10 16:49 楓羽 阅读(739) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #define MAX_LEN 10 void print(int* pArray, int size, char* c){ printf("%s",c); for(int i = 0; i = 0 ; --i){ max_heap(pArray, i, max); } } void sor... 阅读全文
posted @ 2019-05-17 11:17 楓羽 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 三人行必有我师焉,择其善者而从之,其不善者而改之。 入则无法家拂士,出则无敌国外患者,国恒亡,然后知生于忧患而死于安乐也。 狡兔死走狗烹,飞鸟尽良弓藏,敌国尽谋臣亡 今齐地方千里,百二十城,宫妇左右莫不私王,朝廷之臣莫不畏王,四境之内莫不有求于王,由此观之,王之蔽甚矣。 君与家君期日中,日中不至则是 阅读全文
posted @ 2019-05-07 12:12 楓羽 阅读(189) 评论(0) 推荐(0) 编辑
摘要: win32com.client 阅读全文
posted @ 2019-04-07 21:01 楓羽 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 搜集的一些关于win32com.client操作office的相关用法 #创建 #word w = win32com.client.Dispatch("Word.Application") w = win32com.client.DispatchEx("Word.Application")#使用启动 阅读全文
posted @ 2019-04-07 20:59 楓羽 阅读(15085) 评论(0) 推荐(0) 编辑