摘要: 描述:在一个2^k×2^k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 为了使结果统一,我们约定,覆盖时从左上区域开始,按顺时针方向覆盖棋盘。输入:输入共一行三个数,第一个数k表示棋盘的规模,第二个数m表示特殊方格的横坐标,第三个数n表示棋盘的纵坐标。开始左上角坐标为(1,1)。正南方为纵坐标正方向,正东方为横坐标正方向。输出:输出为一个2^k×2^k的方阵,特殊点为0,其它为覆盖后值,从1开始直 阅读全文
posted @ 2012-04-08 14:08 盖慧彤 阅读(348) 评论(0) 推荐(0) 编辑
摘要: From:http://linuxtoy.org/archives/vim-cheat-sheet-2.html#comment-244583 阅读全文
posted @ 2011-09-19 16:05 盖慧彤 阅读(553) 评论(0) 推荐(0) 编辑
摘要: My .vimrc如下:set nocompatible "不使用vi兼容模式,据说会引起一些问题if(has("win32") || has("win95") || has("win64") || has("win16")) "判定当前操作系统类型 let g:iswindows=1else let g:iswindows=0endifif(g:iswindows==1) "允许鼠标的使用 "防止linux终端下无法拷贝 if has('mouse') se 阅读全文
posted @ 2011-09-15 16:49 盖慧彤 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 可以到这里看本文,效果要好一些前段时间装了archlinux,使用了一段时间的KDE,不过最终还是换回了Gnome。唉!没坚持住。archlinux安装Gnome直接就装的Gnome3(Arch还真是超前),不过,Gnome3确实很漂亮!下面是我遇到的几个问题,贴出来供大家参考:1.在Gnome3下使用Fcitx首先确定你安装了中文字体,如果没有安装,可以尝试:sudo pacman -S ttf-arphic-uming ttf-arphic-ukai ttf-bitstream-vera wqy-bitmapfont wqy-zenhei这些是我电脑上安装的字体.然后终端下执行:sudo 阅读全文
posted @ 2011-07-11 17:38 盖慧彤 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 可以到这里看本文,效果更好一些Arch Linux是朝向轻量(lightweight)以及简单(simple)的Linux发行版。其中“简单”(Simplicity)被定义为“避免不必要或复杂的修改”,也就是说,是由开发者角度定义,而非用户角度思考。—————–维基百科从我用linux开始,我一直在用Ubuntu。最近突然想换个发行版尝试一下,就发现了arch,在网上看到有人说Arch 基本理念是快速、轻巧、弹性与简单。嗯,听起来很吸引人啊。Ok,Just have a try!安装过程如下:首先下载arch内核文件:http://mirrors.163.com/archlinux/iso/2 阅读全文
posted @ 2011-07-06 13:59 盖慧彤 阅读(1224) 评论(0) 推荐(0) 编辑
摘要: 成为一个优秀的程序员和成为其他优秀的专业人员一样,需要尽可能多的做一些有质量的工作。有句很流行的话可以总结:做,正确做事,立马就做。(Do it. Do it right. Do it right now) 0. 将一天要做的事情列成清单 完成复杂活动(activity)的最好方法是将其拆分成简单的各项活动。每天早上,将你一天要完成的活动进行拆分,然后制定一个相应的日程安排表,这样能够帮助你:更好的理解这个活动。每天都有一个集中的目标。提高你的估计能力,几天之后,你会发现你能预测一天的工作量。 1. 一次只做一件事 集中于一项任务比同时做多项任务更多产,不同的研究已经证明这个观点,并且发布在不 阅读全文
posted @ 2011-06-28 13:34 盖慧彤 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 快速排序是一种基于分治思想的算法。它的基本思想如下:首先选取一个轴/基准(pivot),接着根据选取的轴进行分区操作(Partition),分区操作的结果是使待排序序列中小于轴值的元素全部位于轴的左边,大于轴值的元素全部位于轴的右边;这样就将整个序列分成了两个子序列,而轴值已经位于正确的位置.然后对轴左右两边的子序列分别递归地进行快速排序,最终得到一个有序的序列。主要伪代码如下:void Qsort(ElementType *p,int low,int high){ int pivot_location; if(low<high) //需要排序的序列长度大于1 { pivot_locat 阅读全文
posted @ 2011-06-01 09:09 盖慧彤 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 希尔排序,也称递减增量排序算法,是插入排序的一种高速而稳定的改进版本。思想:希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步(为什么一定是最终位置呢?求高手解释)。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的了(此时插入排序较快)。一个更好的理解方法:将数组列在一个表中并对列排序(用插入排序)。重复这过程,不过每次用更长的列来进行。最后整个表就只有一列了。将数组转换至表是为了更好地理解这算法,算法本身仅仅对原数组进行排序(通过增加索引的步长,例如是用i += ste 阅读全文
posted @ 2011-05-21 21:40 盖慧彤 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 首先,打开选项->首选项:选择字幕选项卡。找到“默认字符编码”选项,在下拉框中选择“简体中文(cp936)”再打开“字体和颜色”页卡(上边),选择“系统字体”在下拉选框中选择一种简体中文字体 阅读全文
posted @ 2011-05-18 13:27 盖慧彤 阅读(31394) 评论(0) 推荐(0) 编辑
摘要: 前段时间写的有些仓促,代码有些错误,这次修改了以下,并添加了一些适当的注释,理解起来要容易一些算法描述: 主串S和模式串T在匹配过程中如果出现不匹配的情况,不需要改变主串的索引i,只需将模式串向右滑动,改变模式串索引j,然后继续比较S[i]和T[j],直到完全匹配或者不匹配(即主串遍历结束时,模式串仍未匹配完成) 主要代码:int Index_KMP(char *S,char T,int *Next) //KMP{ int i,j; //索引 for(i=0,j=0;S[i]!='\0'&&T[j]!='\0';) { if(j==-1||S[i 阅读全文
posted @ 2011-04-11 22:37 盖慧彤 阅读(208) 评论(0) 推荐(0) 编辑