自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(39)
  • 收藏
  • 关注

原创 latex显示中文

摸索了很长时间..终于找到在latex和beamer下都能显示中文的方法了..其实都是借助于神一般的xelatex底层对于各种字体的支持..在暗无天日的过去..我们只能频繁的使用CJK的命令..即使有了中文字体文件..依然得通过复杂的流程才能使用..但xelatex的底层支持使技巧性的东西消失了..需要加载xeCJK包..如果希望优化的话..还可以带上参数..整

2012-05-03 00:41:28 1467

原创 C-lua准备工作

ubuntu源里的lua是5.0的..而最新的是5.2..如果只是学习lua语法什么的直接apt-get就好了..不过如果想做C-lua的嵌入工作..就只能自己下源码编译了步骤:1.依赖的库:readline,ncurses这两个库可以从网上下源码然后编译安装..这样其实最好了如果不嫌源里的旧..其实可以直接apt-get下来,记住不仅要安原始库,还要安装-dev的版本..

2012-03-16 04:37:13 445

原创 mint下的lisp难题

最近比较闲,重新开始整lisp..但mint下lisp总是起不来..不得已..只好装了lispbox来凑乎的用吧..反正只是学习而已..以后再解决lisp问题在卸载lisp过程中emacs死活卸不掉..最后手动删除之..结果整得整个系统貌似都有些问题了卸载软件的时候有几点需要注意:1.如果是源码编译安装的话,最好留着make文件,或者把安装目录都看清楚.

2012-03-16 04:26:47 367

原创 投奔ff阵营

以前觉得FF没chrome快,没chrome简洁,偶然的时候试了下chrome的virome,才发现ff早就实现的登峰造极了那就是vimperator/pentadactyl,我的神,整个ff就是vim,基本可以的操作都实现了还有一些插件让整个操作更加流畅我的插件:_smooziee.js 让移动变得平滑pinyin-hint.js hint时可以利

2012-03-10 04:02:38 718

原创 阻塞 vs. 非阻塞 同步 vs. 异步

socket通信时,总是看到两对词汇不停的出现,但究竟他们各自分别代表什么内容,我就不甚了解了,甚至有的时候会把他们混淆起来叫,在查过UNP之后,有了一个比较粗浅的认识,在这里说一说.通信,或者IO过程,总是分成了两个部分,第一个部分是检查数据是否准备就绪,第二个部分才是真正的IO操作,用户--OS缓冲区之间的数据移动,OS缓冲区--网络/磁盘等的一系列操作.read操作可以这样理

2012-01-17 10:25:01 339

原创 socket通信高级模型

前几天我刚刚学习了socket网络编程的基本知识,整体的流程是创建socket,要么就是bind/listen/accept/通信,要么就是connect/通信,基本上每一步都是阻塞的,也就是必须得等到有了回应才会返回.当然,我们也可以设置超时参数提前返回,但是超时返回之后我们如果还要连接,仍然需要重新走一遍这样的过程.如果某一时刻有很多请求来连接,或者很多应答来返回,很多就需要等待了,结果自然就

2012-01-17 05:23:09 535

原创 Linux情景分析 读书笔记(二) 基础知识

三种地址:逻辑地址:我们在写汇编的时候,使用的段+偏移的组合,就是逻辑地址,我们使用CS确定代码段,DS确定数据段,还有SS栈段,然后我们的各种不同的代码就在各自的段内进行操作,我们可以想象成如下的结构:struct log_addr_t{ struct seg_reg_t seg_reg; uint32_t seg_off;};线性地址:CPU将逻辑地址变成

2012-01-17 03:03:16 350

原创 cscope数据库的自动搜索

cscope在vim中不能向ctags一样自动的向上递归的查找索引数据库,一般的解法是手动的添加目录寻找,但是那样既丑陋,又费事情,所以我就把那个重新写了一下 " add any cscope database in current directory if filereadable("cscope.out") cs add cscope.out

2012-01-13 21:10:34 907

原创 pthread编程小结

pthread是类Unix下的多线程库..最近学习了一下多线程的东东..这里总结下基本的用法1.pthread_create(), pthread_exit(), pthread_cancel()int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*routine)(void *), void

2011-12-31 23:10:35 721

原创 socket编程小结

最近在做一个控制脚本..需要依赖两台机器之间的通信..所以也顺便学习了一下linux下的socket编程..在这里总结一下使用方法1.socket(),close()int socket(int domain, int type, int protocol) : socket编程的第一步自然是获得一个可以通信的socket(当然,第零步仍然是好好的分析需求..进行前期设计什么的).

2011-12-31 10:31:29 422

原创 CL中'和`的区别

CL中有两种符号非常相似..那就是'和`..今天在实践MACRO的代码的时候稍微思考了下他们的区别..其实在很多时候下,`(反引号)可以代替'(单引号)..二者共同的作用都是指示后续的整体(以括号为界)为数据对象,而不要求值..'(单引号)的功能只限于此..而且这个数据..必须确确实实的是CL的正常数据..一个普通的情况是'(单引号)之后的列表中不能出现,(逗号)..CL会提示说"出现

2011-12-06 18:18:51 429

原创 Common Lisp变量的基础知识

先简单提一下常量的定义..使用defconstant来定义..形式为(defconstant name value "documentation string")..name按照约定..以"+"开头结尾..CL的常量概念和C/C++一致..只有那些确实是常量的才需要定义为常量..变量就是可以变化的量..但是在CL中..需要搞清楚是什么在变化..我们先来看看CL变量的模型..在CL中..

2011-11-23 22:55:17 759

原创 Common Lisp函数的基础知识

正如上一篇文章所述..位置决定了对名字的解释..而在CL中..有很大一部分是函数的解释..函数的名字一般只出现在三个地方:1.函数调用..函数名字出现在列表的开头..后面跟的是其参数..(fun-name arguments*)..参数可以是任意的lisp表达式..这是函数出现最多的地方2.函数定义..此处函数名字紧跟在defun之后..此时的作用是将函数名字与函数体绑定起来.

2011-11-23 00:14:13 804

原创 Common Lisp基础知识

在这里我总结下CL的基础知识..变量/函数/宏的一些相关点..CL是大量使用括号的语言..初看之下..觉得非常夸张..而且其语句间组合的方式和平时C/C++语句的大括号不太一样..经常犯错误..一个常见的错误就是喜欢省略括号..当然..这在C/C++中不是大错误..因为感觉语句的大括号连接非常随意的..除了特定情况下必须以外..其他时候都是可多可少的..但CL中..括号必须严格的按照对

2011-11-22 22:11:04 665

原创 windows下的common lisp配置

以前我以为没有..结果试着安装了下lispbox..恩..搞定了..http://common-lisp.net/project/lispbox/这个就是网址了..把windons的下载下来解压即可..运行对应的lispbox.bat就可以了..不需要关心目录情况..各种需要的环境变量什么的在bat文件中都声明好了..在我的机器上..C:\Users

2011-11-22 21:11:54 1168

原创 KMP新理解

#define MAX_NUM 100void kmpNext(const char pattern[], int pattern_len, int next[]){ int i, j; next[0] = -1; //超级关键的初始化~

2011-10-18 21:57:31 302

原创 二分查找的总结

思想还是要思考的..但是这个模板也是要记住的..毕竟考场如战场..唯快制胜../*注意整个框架结构*///寻找小于等于k的最大下标int findLet(int x[], int n, int k){ int l, r, m; l = 0;

2011-09-26 13:44:53 377

原创 sed使用

sed和awk的区别还是蛮大的..awk趋向于针对每行进行单独处理,处理的最小单位是行中的每个域..对每行的处理基本是独立的..我们不能苛求他可以把多行整合起来处理(当然,借助变量我们还是可以做到的..)sed则是完全针对文件流的..处理的最小单位就是行..他并不

2011-09-19 21:27:30 530

原创 awk使用

awk的使用看起来比较复杂..貌似有一本好几百页的书就是讲awk的..所以我这里不多言..也就说点常用的命令和了解..awk处理的是行数据..也就是说awk以行为单位对文件进行处理..它将每行分为不同的域..从1开始标号..分割符默认为空格..但是可以其后指定基本

2011-09-14 15:55:49 375

原创 Git分支

Git分支是Git里最帅的特性..非常非常赞..详细的说明请见man和Pro Git..这里只是简单介绍一下下..git里的分支是轻量级的分支.基本就是一个指向某次commit的指针,仅仅标签而已,所以非常轻量级..我们可以自由的建立无数个标签..共同开发

2011-09-14 15:13:25 280

原创 Git基础命令

使用Git时,有一些非常基本的命令..我们可能在处理大小项目,尤其是小项目中会经常用到(大项目可能还需要一些高级命令了)具体的使用技巧,请参考Pro Git(http://progit.org/book/zh/)..此书甚好..大赞..git init:初

2011-09-14 13:14:36 613

原创 Git 安装和配置

在Arch下安装Git比较容易,只要利用root权限pacman -S git即可,则可以获得最新版的git(目前是1.7.6.1)然后就是常用的配置..我们可以利用git help config来查询相应的配置选项配置分为三个等级,一个是整个系统等级的,

2011-09-14 11:44:45 304

原创 grep的使用

grep是个好东西格式grep [option] reg file/dir选项包括:-c:只输出匹配数目-i:不区分大小写-h:不显示文件名(如果我们在目录下匹配,默认情况下不同文件下会显示文件名的)-l:只输出文件名(默认情况下是显示匹配内容的)

2011-09-13 23:55:53 222

原创 元字符与正则表达式

这里不讨论那么高深的知识..详细的情况可以参考>..此书甚好..大赞之..元字符就是shell本身用以匹配字符串的默认方式*:任意个字符?:单个任意字符[]:匹配括号内字符[!]:匹配非括号内字符上述二者均可以利用"-"来表示范围,比如[0-9]表

2011-09-13 21:49:53 236

原创 Chp.7目录管理

常用命令:cd:改变当前目录pwd:显式当前目录mkdir:建立目录rmdir:删除空目录ls:显式目录下文件cp:复制文件mv:移动文件(可以类似做重命名)rm:删除目录或文件查看文件:cat,tac,head,tail,vim(

2011-09-13 13:47:49 268

原创 Chp.6普通权限与目录划分

普通的Linux权限分为三种类别(不包括ACL等),就是U/G/O,U是指User,G是指Group,O是指Other,User即文件的所有者,Group即文件的组所有,O是指不包括在其中的其他人.每种类别都有三个权限,r/w/x,针对不同文件,有不同效果对于普通文件:r

2011-09-12 15:13:31 274

原创 Chp.5查询与退出

Linux下有个超有用的帮助,就是man,对于我们有疑问的命令,直接man XX,或者man num XXX,num指的是查询的章节..具体章节如下:man基本包含了所有的帮助内容,我们安装的其他软件,也都基本上会生成自己的man文件以供查询,所以遇到不会的问

2011-09-12 14:36:13 285

原创 Chp.4系统安装

我们这次安装ArchLinux,这个版本的Linux比较清爽,基本上没有任何你不想要的东西,当然,你想要的东西它也没有,所有事情都得自己动手丰衣足食..当然,我是装在vbox上的,所以还是比较简单的..1.用deamontool加载archlinux的镜像

2011-09-12 14:19:03 340

原创 Chp.3磁盘分区

Linux一切皆为文件的传统,使得对磁盘的管理更加透明和简单.在/dev文件夹下,我们可以看到一堆文件,它们分别代表着Linux可以使用的各种硬件接口以前我一直有一个误区,以为/dev下的东西就是我可以访问的,现在我才明白,原来/dev下其实仅仅是Linux提供给实际

2011-09-12 13:50:29 275

原创 Chp2.Javascript类型与语法

javascript的基本数据类型有五种,分别是1.数字,整型数字或者浮点型数字,都属于数字类型2.字符串.不是String类型,而是内置的基本类型(虽然可以隐式的转换为临时String类型)3.布尔型,就两个值,true,false4.null,表示无数据5

2011-09-12 13:22:13 283

原创 Nginx配置

Nginx是一个比较新的网络服务器程序,比Apache更轻更快,而且据说并发行更好(我不知道..表问我)故在ArchLinux上安装配置了Nginx+PHP(没按数据库)1.pacman -S nginx php把nginx和php的相关组件下载并安装

2011-09-12 10:10:52 315

原创 一个关于甄别重复的小点(ZOJ1476引发的想法)

最近做了ZOJ1476 weird clock(http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1476),发现有一种甄别重复情况的小技术经常在用..那就是定义数组,作为不同情况的标志,来判断是否重复

2011-09-05 20:05:18 280

原创 double的处理和一个不常用的头文件

double类型数值不能直接比较相等情况,因为double中没有严格的相等概念,因此在比较的时候通常要伙同一个EPS(要求的精度)来比较,需要注意的是,比较时是比较上/下届的 充分理解下面两组式子就好了:a ==> a a ==> a  C标准库中还有一个神奇的头文件,float.h,我们并不经常使用它,但是它的作用其实和limits.h类似,都是关于浮点型的

2011-06-12 23:27:00 1996

原创 Dijkstra+最小堆实现(续)--heap_insert的实现

今天突然想到了给最小堆添加值的方法了.. #include /*在heap_insert中完成对key[]中的插入,key[]必须保证不满*/int heap_insert(struct Heap* h, int key[], int k){ if (h->n >= MAX_NUM) return 0; key[h->n] = INT_MA

2011-06-12 23:00:00 529

原创 算法时间数量级估计

从某个牛人的PPT里截图下来的.. 以前总是对OJ里的1000ms没有概念,就算分析了时间复杂度,也仅仅是了解相对性能,对于是否TLE或者满足题意,或者那些数量范围没概念 有了这张图..我想..虽然不是每个时候都对,但至少会有一点点底气了..     

2011-06-11 14:05:00 505

原创 普通队列的实现

普通队列是比较容易实现的,但有几个问题需要注意一下: 1.f和e的含义如何 此处,我们为了统一格式,做一个统一的处理,f指向队首,e指向队尾的下一个元素,也就是说,出队时,先取q[f],然后递增f;入队时,先入队q[e],再递增e 这仅仅是我的统一格式..便于和其他数据结构统一...要不然就弄混了就恶心了..每次都得斟酌一二.. 2.如何判断为空 如果我们自

2011-06-10 18:12:00 358

原创 最短路径的SPFA算法

    最短路径有三种比较普遍的算法    1.bellman_ford可以计算带有负权值的单源最短路径,并且可以判断是否存在最短路径;    2.dij可以非常快速的计算正权值的单源最短路径(最好加上heap优化)    3.floyd可以快速计算点对之间的最短路径(基本可以说是非常好写又非常快速的,其他单源算法用于点对间都比较慢)     还有一种算法,是昨天我在搞ZOJ1

2011-06-10 18:03:00 383

原创 Dijkstra+最小堆实现

最近在做最短路径的题目..遇到很多题目必须使用Dij+Heap的优化才能AC(当然,使用SPFA更快) 而配合Dij的Heap不是一般的Heap,而是一类比较特殊的Heap,所以实现的比较辛苦..不过最后还是很赞的.. 下面是Heap的实现../*这是一种完备的最小堆..所有的操作都已经完整无误的实现了..注意,在最小堆中保存的是关键字的下标,而不是关键字本身因此需

2011-06-10 16:31:00 1140

原创 博弈问题的边边角角

<br /><br />(可能顺序很乱,但为了保持原状,我不做修改了..这就是我体验博弈时的顺序)<br /> <br />分析局面,而不是谁胜谁负!!!<br /> <br />Terminal局面:无法做出move的局面<br /> <br />Previous局面:无论做出哪种move,都会造成N局面的局面<br />P-->当前的前人会获胜,所以当前败<br /> <br />Next局面:至少有一个move可以造成P局面<br />N-->当前胜<br /> <br />T局面是P还是N要根据规则

2011-05-31 04:09:00 397

空空如也

空空如也

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

TA关注的人

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