摘要: 我的系统是ubuntu11.10OmniComplete是基于ctags的,所以要先安装ctagsubuntu11.10上,ctags好像已经安装了,可以试试sudo apt-get install ctags,已经安装的话会提醒,没安装的话这样就可以安装了到http://www.vim.org/scripts/script.php?script_id=2358下载cpp_src.tar.bz2,解压,进入目录,运行下面这条命令ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cp 阅读全文
posted @ 2012-11-29 00:17 ttang 阅读(1462) 评论(2) 推荐(0)
摘要: 题目:http://poj.org/problem?id=1110其实思路挺简单,不过题意确实不够明了,而且从网页上都看不出来题目中那几个数字- -行间距太大了,粘下来放到文本里就能看出是01234对每个symbol遍历各种可能的情况,从上到下,每行从左到右,看看某位置(或某两个位置)其他symbol是不是'o',如果存在其他symbol相应位置上是'o',就说明这个不是unique的,不符合要求,继续找,找不到就是impossible这个代码有点罗嗦,抽空看看精简一下,有个题解似乎结构更好一点,在这里http://shaidaima.com/source/vi 阅读全文
posted @ 2012-11-28 23:30 ttang 阅读(359) 评论(0) 推荐(0)
摘要: 安全的用法是:如果你一行至多有x个字符要读入,就用char s[x + 2];fgets(s, x + 2, stdin);这样保证读入的字符串不会被截断(截断是很危险的,不仅影响这一次的读入,还会影响后续的fgets的执行),如果输入K个字符,则s[0..K-1]是输入的字符串,s[K]='\n',s[K+1]='\0',调用printf("%s", s);将打印这一行所有的字符,外加一个换行符如果有类似scanf("%d", &n);后面紧跟着fgets(s, x + 2, stdin);——这个fgets将不 阅读全文
posted @ 2012-11-28 22:54 ttang 阅读(2578) 评论(0) 推荐(0)
摘要: split,多个标签,切换,ctrl+w,冲突,vim 阅读全文
posted @ 2012-11-28 19:21 ttang 阅读(25263) 评论(0) 推荐(1)
摘要: http://www.2cto.com/os/201203/122133.html主要命令:zf-创建折叠zf20G--创建折叠,从当前行折叠到第20行zfgg--创建折叠,从当前位置折叠到文件头,非常适合编程的时候隐藏文件顶部的头文件包含,源文件注释写程序时都是以函数为单位,可以很方便的折叠一个函数,而保留函数头部。如下函数,我们将光标停留在{处,输入zf%(%在vim中表示括号匹配,此处指匹配到另一个对应的大括号)#include <stdio.h>int main(int argc, char* argv[]){return 0;}效果就出来了:#include <st 阅读全文
posted @ 2012-11-28 18:26 ttang 阅读(13284) 评论(0) 推荐(1)
摘要: 算法参考《算法导论》第15章--动态规划//最优二叉查找树#include <cstdio>#include <cstring>#include <limits>class optimalBST{ private: float *p, *q; int n; float **e;//(n+2)*(n+1)//e[1..n+1, 0..n] float **w;//(n+2)*(n+1)//w[1..n+1, 0..n] int **root;//(n+1)*(n+1),0 row and 0 col are not used public: optimalBS 阅读全文
posted @ 2012-11-27 14:55 ttang 阅读(961) 评论(0) 推荐(0)
摘要: Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。Output对于每一组数据,给出 阅读全文
posted @ 2012-11-25 20:48 ttang 阅读(304) 评论(0) 推荐(0)
摘要: ubuntu上sudo apt-get install xclipman xclip然后体验去吧比如有个文本文件,想复制到剪贴板,cat file.txt | xclip,然后中键就可以粘贴了!帅呆了吧!开始以为clipboard会对应一个device,结果不是,http://stackoverflow.com/questions/993751/is-the-linux-system-clipboard-represented-in-the-file-system-somewhere-as-a-devi 阅读全文
posted @ 2012-11-25 19:17 ttang 阅读(322) 评论(0) 推荐(0)
摘要: 我的vim输入:reg命令时看不到+这个寄存器,查到某篇博客说要安装vim-gui-common,于是sudo apt-get install vim-gui-common,果然就有了+寄存器准备工作到此结束,在命令模式下用gg让光标移到文件头部,按v进入visual模式,按G全选,按"+y就把整个文件内容复制到系统剪贴板了 阅读全文
posted @ 2012-11-25 18:44 ttang 阅读(2030) 评论(0) 推荐(0)
摘要: 看到一个人说可以用(double)rand()/(RAND_MAX + 1)生成(0,1)之间的随机数,于是就把这个乘以(b-a)再加a得到a,b之间随机实数,结果发现有问题……问题在这里:RAND_MAX + 1溢出啦,randmax是2147483647, 而 randmax + 1 : -2147483648现在就会觉得这个+1是多么的画蛇添足,(double)rand()/RAND_MAX 就可以了嘛,要真想+1,可以加1.0,这样在做加法之前randmax就自动提升为double了 阅读全文
posted @ 2012-10-07 20:33 ttang 阅读(3330) 评论(0) 推荐(0)
摘要: 如题,是一道组合数学题http://blog.csdn.net/super_chris/article/details/6113779http://zhidao.baidu.com/question/3949233.html&__bd_tkn__=2ba55324346d93354218a167b8fa35ba8a1f8bfe8078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157b55f93b9f64aae6065506c64a0a3774d432bb7b490192027c5f 阅读全文
posted @ 2012-10-06 23:51 ttang 阅读(3845) 评论(0) 推荐(0)
摘要: http://mindhacks.cn/2011/11/04/how-to-interview-a-person-for-two-years/里面有好几个书单,很多建议 阅读全文
posted @ 2012-10-06 01:23 ttang 阅读(157) 评论(0) 推荐(0)
摘要: http://stackoverflow.com/questions/4589988/lower-bound-on-heapsort/4598391#4598391找了好久 阅读全文
posted @ 2012-10-05 12:33 ttang 阅读(408) 评论(0) 推荐(0)