2012年10月15日

高精度

摘要: 本来就是那么简单的原理,就是麻烦,不好写。不过好处就是总算把运算符重载给搞懂了。下面是代码高精度加法:# include <iostream># include <fstream># include <cstdio># include <cstdlib># include <cstring># include <cmath># include <iomanip># include <algorithm># include <vector># include <deque># 阅读全文

posted @ 2012-10-15 21:33 Stery 阅读(141) 评论(0) 推荐(0) 编辑

2012年8月6日

RMQ的ST算法(区间最值)

摘要: ST算法求解RMQ问题(区间最值)效率:O(nlogn)预处理,O(1)询问思想:用f[i][j]表示以i开头的区间,包括2^j个元素的一段区间的最值那么有初始化的初始化f[i][0]=a[i](a[I]表示第I个元素的值)然后就有两种初始化的方法1)选择一个位置为更新点,然后枚举2^j,即固定I,求f[constI][j]2)每次选择一个区间长度,然后枚举位置,即固定j,求f[I][constj]那么哪一种效率更高呢?如果选择方案1,那么显然没有办法优化那么只能是方案2了。由于这都是求2^j(j为整数)的区间的长度,那么就可以直接由这个区间拆成的两个1/2长度的区间来求,令人欣慰的是,这一段 阅读全文

posted @ 2012-08-06 18:14 Stery 阅读(187) 评论(0) 推荐(0) 编辑

2012年8月5日

摘要: 简单堆的特点1)第一个点是根结点2)头指针指向根结点3)本质是一个树4)第I号节点的左儿子是第I*2号,右儿子是第I*2+1号5)第I层元素一定比第I+k(k>0)层优堆的建立与维护1)每次入队一个元素(假设编号为k)2)将此入队元素与其父节点(编号(int)(k/2))进行对比3)若该元素最优,swap二者,进行2)这称为上浮堆的取出1)一般来说每次取堆顶的一个元素2)取得该元素后删除该元素3)删除堆顶元素的方法:拷贝队末元素至堆顶4)删除队末元素所占空间5)把堆顶元素下沉下沉操作1)将该元素与其子节点(编号(int)(k*2)与(int)(k*2+1))进行比较2)若该元素非最优,s 阅读全文

posted @ 2012-08-05 15:01 Stery 阅读(288) 评论(0) 推荐(0) 编辑

2012年8月2日

Start

摘要: 就算为了noip也该好好学了今天开始整整算法 阅读全文

posted @ 2012-08-02 18:15 Stery 阅读(79) 评论(0) 推荐(0) 编辑

导航