自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Pegasus (http://ningning.today)

Stay hungry. Stay foolish. Keep learning. Keep thinking. https://www.zhihu.com/people/pegasus-wang

  • 博客(95)
  • 资源 (23)
  • 收藏
  • 关注

转载 vim正则表达式(转)

Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作。如果你比较熟悉Perl的正规表达式,可以直接参照与Perl正则表达式的区别一节。一、使用正则表达式的命令使用正则表达式的命令最常见的就是 / (搜索)命令。其格式如下:/正则表达式另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成第二个//之间的字符串。:

2013-06-24 19:41:43 2021

转载 正则表达式30分钟入门教程(转载)

http://deerchao.net/tutorials/regex/regex.htm#mission原文链接,再次感谢作者的教程首页 | 常用正则表达式 | 正则表达式测试工具正则表达式30分钟入门教程版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源目录跳过目录本文目标如何使用本教程正则表达式到底是什么东西?

2013-06-23 22:56:59 1054

原创 hdu 1874 Dijkstra算法

先贴个网上找的比较通俗易懂的教程:2.1  Dijkstra算法(非负权,使用于有向图和无向图)  Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作

2013-06-19 19:29:09 1401

原创 Timus 1017. The Staircases(转)

Timus 1017. The Staircases 要求计算给定数目的砖块可以组成多少种不同的楼梯。1017. The StaircasesTime Limit: 1.0 secondMemory Limit: 16 MBOne curious child has a set of N little bricks (5 ≤ N ≤ 500). From these bricks he

2013-06-19 19:29:07 1214

原创 C++ string 用法详解(转)

C++ string 详解任何人对本文进行引用都要标明作者是Nicolai M.Josuttis///////////////////////////////////////////////////////////////////////////////////C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C+

2013-06-19 19:29:05 1294

原创 C/C++的64位整型(转)

在C/C++中,64为整型一直是一种没有确定规范的数据类型。现今主流的编译器中,对64为整型的支持也是标准不一,形态各异。一般来说,64位整型的定义方式有long long和__int64两种(VC还支持_int64),而输出到标准输出方式有printf("%lld",a),printf("%I64d",a),和cout 本文讨论的是五种常用的C/C++编译器对64位整型的支持,这五种编译器分

2013-06-19 19:29:02 1390

原创 字符串循环同构的最小表示法(转)

循环字符串的最小表示法的问题可以这样描述:对于一个字符串S,求S的循环的同构字符串S’中字典序最小的一个。由于语言能力有限,还是用实际例子来解释比较容易:设S=bcad,且S’是S的循环同构的串。S’可以是bcad或者cadb,adbc,dbca。而且最小表示的S’是adbc。对于字符串循环同构的最小表示法,其问题实质是求S串的一个位置,从这个位置开始循环输出S,得到的S’字典序最小。一种

2013-06-19 19:29:00 1128

原创 字符串:KMP Eentend-Kmp 自动机 trie图 trie树 后缀树 后缀数组(转)

涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机 KMP算法 Extend-KMP 后缀树 后缀数组 trie树 trie图及其应用。当然这些都是比较高级的数据结构和算法,而这里面最常用和最熟悉的大概是kmp,即使如此还是有相当一部分人也不理解kmp,更别说其他的了。当然一般的字符串问题中,我们只要用简单的暴力算法就可以解决了,然后如果暴力效率太低,就用个hash。当然hash也是一个面试

2013-06-19 19:28:58 1255

原创 AC自动机(Aho-Corasick automation)(转)

AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法。解决的问题:给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。(也是解决web开发中关键字链接的常用算法:n个关键字,1篇文章,找出关键字在文章出现的位置)思路:在一棵trie树上面做Kmp,每个节点都有个像Kmp一样匹配失败时的指针(失败指针),匹配

2013-06-19 19:28:55 1028

原创 C语言区间随机数生成 with srand() & rand() & time() (转)

在用计算机的一些智能算法(GA,PSO,ANN etc.)仿真时经常需要随机生成初始种群(初始样本),看看中的这两个函数的伪随机数生成吧~~~1. 生成[a,b]之间的一个实数和一个整数[cpp] view plaincopy/* 定义函数     int   rand(void); 函数说明     rand()会返回一随机数值,范围在0至RAND_MAX  

2013-06-19 19:28:53 1368

原创 hdu 1072 Nightmare(dfs)(转)

这个代码思路比较清晰。大意:在n×m的地图上,0表示墙,1表示空地,2表示人3表示目的地,4表示有炸弹重启器。炸弹的时间是6,人走一步所需要的时间是1。每次可以上、下、左、右移动一格。当人走到4时如果炸弹的时间不是0,可以重新设定炸弹的时间为6。如果人走到3而炸弹的时间不为0时,成功走出。求人从2走到3的最短时间。这里当走过了4以后就不要重新返回到4,我们把4设为0不能再走;其余的走过后,不进

2013-06-19 19:28:51 999

原创 一些与算法有关的网站

//转自:http://www.cnblogs.com/a180285/archive/2012/01/15/2290290.html//---------------------------------------------------------------------------------------------------------------------------------

2013-06-19 19:28:49 1553

原创 Chrome 快捷键(谷歌浏览器)大全

chrome窗口和标签页快捷键: Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 按住 Ctrl 键,然后点击链接 从后台在新标签页中打开链接,但您仍停留在当前标签页中 按住 Ctrl+Shift 键,然后点击链接 在新标签页中打开链接,同时切换到新打开的标签页 按住 Shift

2013-06-19 19:28:46 1186

原创 vim 全选复制(转)

曾经也在找看看有没有快捷的方法全选,但是网上很多都是重复,并且错误的,比如: 1,$y,这是什么?要写也要写成:1,$y,但是我告诉你,写成:1,$y是全部复制,不是全选 dG,这个就更加误导人了,这是删除光标所在行到最后一行的内容(包括光标所在行的内容) 上面这里都扯到哪里去了。全选正确的答案是: ggVG 稍微解释一下上面的命令 gg 让光标移到首行,在vim才有效,vi中无效 V   是进入

2013-06-19 19:28:44 1177

转载 Emacs和Vim:神的编辑器和编辑器之神(纯属八卦)

0. 序章:神器的传说在这个蔚蓝色的星球上,流传着两大神器的传说:据说Emacs是神的编辑器,而Vim是编辑器之神。追求独步天下的高手和低手们争着一睹它们的风采,可看到它们朴素单薄的界面后,不禁心下怀疑:这就是神器吗?甚至有人生了轻视之心。肤浅的人嗤之以鼻,说:什么年代了,还抱着这么老土的玩意不放,真他妈Geek!同学,请冷静下来,听我说:它们的确够老了,都几十年的寿命了,但你想想为什

2013-06-19 19:28:42 971

原创 hdu 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列(LIS)O(nlogn)算法)

这一题很容易抽象成最长上升子序列问题:最长上升子序列问题:给出一个由n个数组成的序列x[1..n],找出它的最长单调上升子序列。即求最大的m和a1,a2……,am,使得a1 动态规划求解思路分析:(O(n^2))经典的O(n^2)的动态规划算法,设A[i]表示序列中的第i个数,F[i]表示从1到i这一段中以i结尾的最长上升子序列的长度,初始时设F[i] = 0(i = 1, 2,

2013-06-19 19:28:40 988

原创 C++标准库简介(转)

C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 形式的标准头文件【 例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库头文件名。C++标准库的内容分为10类:C

2013-06-19 19:28:37 850

原创 最长上升子序列(LIS)nlogn算法(转)

这题目是经典的DP题目,也可叫作LIS(Longest Increasing Subsequence)最长上升子序列 或者 最长不下降子序列。很基础的题目,有两种算法,复杂度分别为O(n*logn)和O(n^2) 。A.O(n^2)算法分析如下: (a[1]...a[n] 存的都是输入的数) 1、对于a[n]来说,由于它是最后一个数,所以当从a[n]开始查找时,只存在长度为1的不下降子序列

2013-06-19 19:28:35 1046

原创 hdu 1007 Quoit Design(最近点对模板)

最近点对模板: 1 #include 2 #include 3 #include 4 using namespace std; 5 const int MAXN = 100005; 6 struct POINT 7 { 8 double x, y; 9 int index; 10 v

2013-06-19 19:28:31 1134

原创 漫谈二分查找-Binary Search (转)

http://duanple.blog.163.com/blog/static/709717672009049528185/ (用vim把程序缩进了一下,方便看)历史上,Knuth在其>一书的第6.2.1节指出:尽管第一个二分搜索算法于1946年就出现,然而第一个完全正确的二分搜索算法直到1962年才出现。而不经仔细斟酌而写出的一个二分查找经常遭遇off by one或者无限循

2013-06-19 19:28:28 1025

原创 使用Eclipse创建一个Android程序方法

要编写Android程序,需要安装JDK、Eclipse和Android SDK。Android SDK的安装路径不要在program file或program file(x86)下,否则在debug时会碰很奇怪的问题。最好直接放在C:\Android下。(如果非要放在Program files下也可以,在eclipse配置adroid sdk路径需使用“C:\Progra~1\Android

2013-06-19 19:28:26 1361

原创 怎样搭建Android开发平台(转)

Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。 低层以Linux核心工作为基础,只提供基本功能;其他的应用软件则由各公司或个人自行开发,以Java作为

2013-06-19 19:28:24 1206

原创 使用Eclipse平台开发Java程序(转)

Java是当今世界上使用最多的语言,是语言使用人数当之无愧的No.1。然而这样一门语言,只用记事本和SDK来开发,略显犀利了一些,这篇文章,我就来说说怎样使用Eclipse开发工具来开发Java应用。工具/原料一台还算不错的电脑,最好是Windows系统,这样和笔者的系统一样方便配置。可以链接互联网。步骤/方法到网上下载Ecl

2013-06-19 19:28:21 1397

原创 用dos命令行执行java程序的方法

今天开始学java了,从图书馆借了一本Deitel公司的书,坑爹的是上面还是用命令行运行java程序,没有用任何ide,鉴于有些初学者可能需要这么运行,写一下方法。首先要安装jdk,然后记住安装路径。接下来就要设置环境变量了,PATH环境变量制定了查找应用程序的搜索目录。右键计算机-》属性->高级系统设置-》高级-》环境变量-》系统变量找到Path然后编辑编辑后把路径D:\TDDOWN

2013-06-19 19:28:19 1668

原创 hdu 1024 Max Sum Plus Plus (最大m子段和)(经典DP)(转)

给定由n个整数(可能为负整数)组成的序列e1,e2,…,en,以及一个正整数m,要求确定序列的m个不相交子段,使这m个子段的总和达到最大。分析:设b(i,j)表示数组e的前j项中i个子段和的最大值,且第i个子段含e[j](1£ i £m,i£ j £n)。以下称b(i, j)为“最后一个元素属于第i子段的j元素i子段问题”。则n个元素中求i个子段的最优值显然为:best(i,

2013-06-19 19:28:17 1099

原创 c语言不用临时变量交换两个数程序分析

首先看这样一个程序int a, b;a = a + b;b = a - b;    此时b = (a + b) - b = a;     (经过第一步a为a+b)a = a - b;    此时a = (a + b) - a = b;  (经过第二步时b已为a)可见这个程序实现了a和b的交换。注意+和-互为逆运算,可以得到(a+b)-b=a,埋个伏笔先。在看这个例子:i

2013-06-19 19:28:15 2139 3

原创 vim中文手册,gcc中文手册,gdb中文手册打包赠送

http://pan.baidu.com/share/link?shareid=548114&uk=3239809682这是我的网盘地址,文件里有六个文件,linux下的vi, gcc, gdb, make, emacs中文手册。打包分享。

2013-06-19 19:28:13 1265

原创 vim控,键盘控的福利,在chrome和firefox中用vim

我用的是chrome浏览器,有一个插件叫做vimium,在store中搜索即可,这样以后用chrome时可以用一些vim的快捷键操作,比如j可以向下翻页,k向上翻页,gg可以跳转到开始等等。键盘控不容错过。连接:https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=enfir

2013-06-19 19:28:10 983

原创 简明 Vim 练级攻略(转)

vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类史上最好的文

2013-06-19 19:28:08 873

原创 程序算法与人生选择(转)

(转载本站文章请注明作者和出处 酷壳 – CoolShell.cn ,请勿用于任何商业用途)http://coolshell.cn/articles/8790.html每年一到要找工作的时候,我就能收到很多人给我发来的邮件,总是问我怎么选择他们的offer,去腾讯还是去豆瓣,去外企还是去国内的企业,去创业还是去考研,来北京还是回老家,该不该去创新工场?该不该去thoughtworks?……等等

2013-06-19 19:28:06 1283

原创 hdu 1023 Train Problem II 完整高精度模板(以输出大Catalan为例)

#include #includestring> #include #include using namespace std; #define MAXN 9999#define MAXSIZE 10#define DLEN 4class BigNum{ private: int a[500]; //可以控制大数的位数 i

2013-06-19 19:28:04 1050

原创 hdu 1016 Prime Ring Problem (dfs)

http://acm.hdu.edu.cn/showproblem.php?pid=1016 1 #include 2 #include 3 #include 4 bool isp[40], vis[20]; //isp[]素数标记数组 5 int n, a[20]; 6 bool is_prime(int n)

2013-06-19 19:28:01 929

原创 如何将windows版的vim界面语言(默认为中文)设置成英文(转)

转自http://blog.csdn.net/njnu_mjn/article/details/7935103使用安装包安装windows版本的vim(下载地址:http://www.vim.org/download.php),vim会自动根据windows的语言设置vim的界面语言。如何将其改为英文呢?在vim的安装根目录下(我的路径为D:\Program Files\Vim)找到名为“

2013-06-19 19:27:59 3431

原创 博客搬家

在csdn开了一个博客,本博客仍然更新。

2013-06-19 19:27:57 800

原创 VC6.0编译器不符合标准的一些情况(解决一些编译错误)

都什么时代了,老谭的书还用VC6.0, 编译器那么老(好像是c89之前了,比较新的是c99标准)对标准支持不好,真是阻碍中国计算机教育的进步。最近几个编译器来回换,蓝桥杯好像只给vc6.0,发现还是g++的编译器比较好,编译出的代码执行速度更快一点,对标准支持的最好。看这一段很简单的代码: 1 #include 2 #include 3 using namespace

2013-06-19 19:27:55 2074

原创 第三届蓝桥杯预赛真题解答

第三届蓝桥桥杯预赛真题及答案一、 微生物增殖假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。    一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。如果X=10,Y=90  呢?本题的要求就是写出这两种初始条件下,60分钟后Y

2013-06-19 19:27:52 1087

原创 c,c++产生随机数详解

原文链接http://blog.csdn.net/chenyiming_1990/article/details/8648681在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后

2013-06-19 19:27:50 1180

原创 sizeof运算符详解

一、sizeof的概念  sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、sizeof的使用方法1、用于数据类型sizeof使用形式:sizeof(type);  注:数据类型必须用括号括住。如sizeof(int)。2、用

2013-06-19 19:27:48 878

原创 void main()是错的!

很多人甚至市面上的一些书籍,都使用了void main( ),其实这是错误的。C/C++中从来没有定义过void main( )。C++之父Bjarne Stroustrup在他的主页上的FAQ中明确地写着The definition void main( ) { /* ... */ } is not and never has been C++, nor has it even been C.(

2013-06-19 19:27:45 1967

原创 位运算(转自matrix67)

http://www.matrix67.com/blog/archives/263 (原文链接)什么是位运算?     程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11

2013-06-19 19:27:43 1119

indent.exe

linux下indent 的移植版本,只需要将含有indent.exe的文件夹放在有环境变量的路径下就可以在命令行下使用。

2014-03-27

An Introduction to the Theory of Numbers 数论导论

一个几简短的数论入门书籍,涉及到相关算法和密码学的可以作为一个入门的书籍。只有不到100页。

2013-09-02

[C算法(第2卷)].(美国)Robert.Sedgewick.清晰版

《C算法(第2卷)(图算法)(第3版)(中文版)》所讨论的图算法,都是实际中解决图问题的最重要的已知方法。《C算法(第2卷)(图算法)(第3版)(中文版)》的主要宗旨是让越来越多需要了解这些算法的人的能够掌握这些方法及基本原理。书中根据基本原理从基本住处开始循序渐进地讲解,然后再介绍一些经典方法,最后介绍仍在进行研究和发展的现代技术。精心挑选的实例、详尽的图示以及完整的实现代码与正文中的算法和应用描述相辅相成。

2013-08-01

A.First.Course.in.Probability.pdf

概率论的一本非常好的国外教材,有丰富的例子和大量的习题。

2013-07-24

c和指针pdf

c语言三剑客之一,详解了指针的用法,想要详细了解指针的推荐。

2013-07-04

C程序设计语言(第2版·新版)习题解答

经典书籍《c程序设计语言》第二版的习题答案

2013-07-04

你必须知道的495个C语言问题

495个常见的和不常见的c语言问题,很多人智慧的结晶。

2013-07-04

《正则表达式编辑工具》(RegexBuddy) v3.5.4[压缩包]

  RegexBuddy一款正则表达式编辑工具,帮助你的编写需要的正则表达式,还可以使用它理解别人编写的表达式。RegexBuddy提供可视化的支持、提示、调试方面的便利;在使用正则表达式时,RegexBuddy将正则式转换为多种语言的字串,还提供了代码输出功能。 RegexBuddy 是学习正则表达式时的比较好的帮手,它可以容易地建立你想要的正确的正则表达式。清晰地推断他人所写的复杂的正则表达式。它还可以用给出的实例字符串或文件快速地进行测试匹配,从而防止了在实际应用中出现错误。RegexBuddy会在你的源代码中根据你所应用的特殊编程语言,自动生成带有正则表达式的代码段。同时你也可以收集正则表达式到库中,以在未来重新使用。

2013-06-25

算法艺术与信息学竞赛

刘汝佳的黑书,包括了acm、oi选手需要准备的内容,可以作为信息学竞赛的参考。

2013-06-24

Concrete.Mathematics(具体数学英文版)

大名鼎鼎的Knuth教授的课程,涉及到了离散数学,组合数学,数论等内容,对于信息学竞赛选手,计算机科学相关学生有很大的阅读价值。

2013-06-24

深入理解计算机系统(第2版)英文版

有目录的书籍,不是扫描版很清楚。国外经典教材。对于深入理解c语言的运行和计算机系统,编写更高效的程序开发人员或学生很有帮助。

2013-06-24

Hacking.Vim.May.2007.pdf

一本很好的vim进阶教程,如果你使用了vim一段时间并且顺手了,但是对vim的功能还是没有全面的了解,这本书会教你一些不知道的有用的技巧。

2013-06-24

空空如也

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

TA关注的人

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