自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

树袋大熊的专栏

只是在走一个CSer的应该走的路

  • 博客(18)
  • 资源 (7)
  • 收藏
  • 关注

原创 autoconf 和 automake 生成 Makefile 文件学习

引子无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系。

2011-04-28 20:50:00 1884 2

原创 PKU 3624 0-1背包

题意:标准的0-1背包问题。内存方面使用滚动数组。时间方面可以先对W[]进行非升排序。本来在输入数据时候还打算记录最小重量,在knap时候进行优化,但发现结果没有什么变量,所以并没有加上。

2011-04-26 19:12:00 590

原创 0-1背包

问题描述给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包容量为c。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。因此,该问题称为0-1背包问题.DP思想:首先物品个数为n个, 包总容量为c, 其中w[],v[]分别为n个物品的重量、价格。表m(i,j)表示从第i个物品开始容量为j的包的最大价值量。

2011-04-26 08:52:00 749

原创 SPEC2006编译经历

Standard Performance Evaluation Corporation)标准性能评估公司(SPEC) 是一个非营利性机构。开发的基准程序集主要用来测试CPU等性能。下面是我编译过程中遇到的问题及解决方法,希望有所帮助。

2011-04-25 20:28:00 11587 30

原创 让CPU占用率画出正弦曲线

都说计算机编程乏味,可是好多程序员却玩地津津有味。计算机的世界什么都可以用来做为程序员的游戏,比如CPU。下面就让我们来让Windows下的任务管理器听我们指挥,画出完美的正弦曲线吧!

2011-04-22 16:38:00 5196 1

原创 基于比较的内排序算法(一)

今天把基于比较的内排序算法写了一遍,其中包括bubbleSort, selectSort, insertSort, heapSort, quickSort, shellShort。 mergeSort留了接口以后补上,下篇再把几种排序的时间复杂度、稳定性、适用情况、运行结果总结一下。

2011-04-18 21:30:00 753

原创 (三)二元查找树转换双向链表

题意:不引入新节点,只允许指针操作,实现二元查找树转换为相应双向链表。分析:方法0:转换后的双向链表正好为原树的中序遍历,所以引入一个新指针递归遍历即可。方法1:从10节点看,它的前趋、后继分别是左子树的最右节点与右子树的最左节点,所以找到前趋与后继保存,递归实现即可。

2011-04-16 15:37:00 680

原创 (二)用双栈实现队列

分析:队列是FIFO,而栈是FILO。这里考虑两个栈,mStack1和mStack2。push_back()操作时假设都push到mStack1中,如果需要front()操作或者pop_front()操作时,应该拿到mStack1中栈底的元素。这时就用到mStack2,把mStack1中的元素全部push到mStack2中,然后再进行mStack2的top()和pop()操作。理论上分析如果,每次pop_front()的都是最早进入的,而新加入元素都在mStack1的最上面,pop_front()的时候是最

2011-04-16 09:49:00 4057 1

原创 (一)设计包含min函数的栈

<br />题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。<br /> <br />分析:普通的栈push(),pop()都是O(1),现在需要加入min方法。第一眼看这个题,想到在栈结构中加一个min变量,保存当前栈最小元素。这样在push()操作时比较当时元素与min变量值来决定是否要替换min变量,即push()操作O(1),但是pop()的时候最有麻烦,因为如果pop()的是最小元素,那更新min变量就需要重新遍历整

2011-04-15 21:26:00 878

原创 PKU 1065 贪心求值

<br />贪心思想:局部最优从而达到整体最优<br /> <br />题意:t组测试数据,每组n块木头,每块木头有相应的length和weight。现在对n块木头进行处理,setup time如下定义:<br />1、处理第一块木头setup time为1<br />2、如果后来处理木头的length和weight分别都不小于前一块的length和weight,则不需要setup time,否则setup time加一<br />求处理全部木头的最小setup.<br /> <br />分析:<br />

2011-04-14 12:46:00 852

原创 PKU 2488 深度优先搜索

<br />背景:对于有些问题没有好的算法去求解,只能通过遍历搜索的方式寻找可行解,此时就用到了宽度优先搜索和深度优先搜索。深度优先搜索用栈实现,可以利用系统的栈区递归调用,也可以自己维护好结构。一般来说,自己维护栈对空间的把握更准确一些,而且调试也更方便一些。不过递归调用的方式有时确会写出很漂亮的代码,深度搜索随着问题规模增加时间开销会显著增加,此时必须通过一些剪枝技术来进行优化。宽度优先搜索用队列来实现,随问题规模增加空间开销会显著增加。<br /> <br />题意:给出棋盘行列数,求从(1,1)点能

2011-04-14 10:31:00 1103

原创 PKU 1001 高精度乘幂

<br />题目: 求Rn ,其中R是一个实数范围是 0.0 < R < 99.999 ,n是一个整数的范围是 0 < n <= 25. <br />分析:高精度运算,字串符模拟数值运算。需要注意的是各种输入格式处理:123, 0123, 012.3, 123., 123.0, 123.01, .123, .1230等等,我的方法是先把如上这些情况输入处理成(123,0),(123,0),(123,1),(123,0),(123,0),(12301,2),(123,3),(123,3)这些形式。即删除小数点

2011-04-12 20:37:00 1118 1

原创 PKU 1062 单源最短路径

背景:有向图G=(V,E),求源点s的单源最短路径问题。解决方案为Dijkstra算法。算法描述:1、把源点v0放入到集合S中,计数器c=0。每个结点一个结构数据d(a,b), a表示到v0的最短路径长,b表示a的前趋节点。     初始化v0为d(0,-)并且除v0外的所有节点为d(INF,-)。这里面INF表示无穷大。2、通过遍历集合S中所有节点v,来更新非集合S中所有节点u.更新条件为                 d[u].first = min{du[u].first, d[v].first +

2011-04-12 10:26:00 880

原创 PKU 1087 网络最大流

题意:现在有m个设备,n种电源插座,k个适配器。适配器a b作用为可以把a插头转成b插头,也就是原来用a电源的设备现在可以用b电源需要注意的几点:1、"only one receptacle of each type",对于n种电源插座,每种类型只有一个2、"No two devices will have exactly the same name",对于m个设备,彼此不相同3、14、适配器的数量是无限的5、求最小几个设置没有电源分析:一道很标准的网络最大流问题,关键在于建图1、取源点、汇点分别标号0,1

2011-04-11 16:40:00 855 1

原创 PKU 1251 最小生成树

背景:无向连通图G=(V,E)的最小生成树算法:1.prim算法:(1)初始顶点集合S为空,把任意一个顶点s加入集合S. (2)迭代|V|-1次,每次加入顶点u,使得v属于S,u不属于S并且(u,v)权值最小, 记录边(u,v) (3)所有记录过的边(u,v)即最小生成树2.kruskal算法: (1)把有|E|中边按权值非降排序 (2)边初始集合S为空,每次加入权值最小的边,当加入后边集合不构成回路,删掉此边。回路判定可以采取并查集方法 (3)边集合为最小生成树

2011-04-11 10:46:00 717

原创 最大流模板

最大流模板

2011-04-08 16:25:00 716

转载 PKU ACM经典50题

转:PKU ACM经典50题

2011-04-07 20:05:00 1709

原创 大数相加模板

大数相加模板

2011-04-07 10:05:00 925 1

DRAMSim manual

DRAMSim是内存时钟精确仿真器,这是它的官方详细手册。

2011-11-29

Multi2sim手册

Multi2sim是多核时钟精确仿真器,这是它的官方详细手册。

2011-11-29

Multi2sim-3.1.1.tar.gz

Multi2sim是多核系统结构仿真器,支持多级Cache,支持定制不同的层次结构,其中一致性协议用MESI协议实现。网络目前只支持Bus和P2P。

2011-11-29

常见的vim配置

一些常见的VIM设置,语法高亮呀、TlistToggle等等

2011-11-28

expect5.45

EXPECT源码包,需要依赖TCL源码包,支持管理员与系统交互操作

2011-11-28

tcl8.4.11-src.tar.gz

TCL源码包,EXPECT脚本会依赖于这个源码包

2011-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除