自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 Shell命令——格式化输出

格式化输出

2015-09-05 16:57:38 710

原创 Shell命令——归档备份

shell归档备份命令

2015-09-05 16:57:13 849

原创 Shell命令——包管理

shell包管理相关命令

2015-09-05 16:56:27 527

原创 Shell命令——环境

Shell环境相关命令

2015-09-05 16:55:44 482

原创 Shell命令——进程

shell进程管理命令

2015-09-05 16:55:11 472

原创 Shell命令——权限管理

shell权限管理命令

2015-09-05 16:54:38 6435

原创 Shell命令——文件内容

shell文件内容操作命令

2015-09-05 16:53:37 1173

原创 Shell命令——文件目录

shell操作文件和目录的命令

2015-09-05 16:47:25 855

原创 Shell命令——存储系统

shell存储系统相关命令

2015-09-05 16:37:24 468

原创 Shell命令——时间日期

shell日期时间命令

2015-09-05 16:32:34 449

原创 Shell命令——网络

shell网络命令介绍

2015-09-05 16:24:00 711

原创 Shell命令——使用命令

shell命令介绍,本文介绍关于命令的一些使用方式

2015-09-05 16:19:56 730

原创 Shell命令行操作

shell命令行本身的一些基本概念和操作命令。

2015-09-05 15:49:58 4176

转载 C++虚函数实现(二)

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过

2012-10-21 13:15:54 416

转载 C++虚函数实现机制(一)

1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public:    virtual void f();    virtual void g();private

2012-10-21 13:15:26 329

转载 关于SIGSEGV错误及处理方法

关于SIGSEGV错误及处理方法  今天编程遇到了SIGSEGV错误,比较困惑,所以找了些资料,总结一下:(1)官方说法是: SIGSEGV --- Segment Fault. The possible cases of your encountering this error are: 1.buffer overflow --

2012-10-19 22:38:03 978

原创 POJ2528 Mayor's poster 线段树+离散化解法

标准解法是用的离散化。此题的特殊性在于普通离散化后,两个相邻的值之间的区间也可能是有效的区间。例如:有三张海报[1, 4] [5, 6][1, 6],离散化后1->1, 2->4, 3->5, 4->6。他们就会覆盖[1, 6]这张海报。另外三张海报[1, 3] [5, 6][1, 6],离散化后1->1, 2->3, 3->5, 4->6。他们不会覆盖[1, 6]这张海报。而此时两组

2012-10-19 22:31:44 850

原创 POJ2528 Mayor's poster 线段树+插入节点建树解法

此题和普通的线段树题相比,最大的挑战在于区间太大,如果一开始就建立一个完整的线段树,空间太大。所以,先只建立根节点,每来一组数据,用普通的线段树查找方法沿根节点查找,如果此组数据的子树不存在,则建立子树。最后递归删除线段树。结果为:15308kB 80ms如果最后不删除树,时间所减少,空间增大。为:20324kB60ms#include #include struct

2012-10-19 22:15:19 1360

原创 poj3439 A Simple Problem with Integers 延迟更新的线段树

思路:使用线段树,并且采用延迟标记的方法使更新操作的复杂度控制在O(logn)。这里采用数组的方法存储二叉树,可以省下两个指针的空间,但代码变得不是很直观,而且容易犯错。另外此题中数据可能超过32位,故使用long long类型存储(POJ平台不能采用__int64,具体原因参见这里),同时使用%lld输出。另外,直接使用scanf读入一个字符的方法会读入空白字符,这里使用scanf("%1s

2012-10-19 00:59:45 535

转载 __int64 与long long 的区别

//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数  //结果VC中还是认为是32位的,显然不合适  //typedef signed long int     TSint64;  //typedef unsigned long int   TUint64;    //ANSI C中规定long long才能表示64位  //参

2012-10-19 00:30:28 766

原创 POJ3438 Balanced Lineup 基本线段树

线段树的模板题,另外此题还能用SparseTable解。#include struct CowRange{ int l,u; CowRange *left,*right; int max,min;};CowRange* BuildInTree(int l, int u, int *height){ CowRange *root = new CowRa

2012-10-18 21:23:23 822

原创 线段树(区间树)

线段树(Interval Tree),也叫区间树。它在各个节点保存一个区间(即“子数组”),适用于和区间统计有关的问题。比如某些数据可以按区间进行划分,按区间动态进行修改,而且还需要按区间多次进行查询,那么使用线段树可以达到较快查询速度。实际可应用于例如RMQ,线段求长,矩形交,矩形并等,它基本能保证每个操作的复杂度为O(log n)。一、基本结构 对于一个[0 , N-1]的序列,它

2012-10-18 14:24:10 6326 2

原创 树状数组

在解题过程中,我们有时需要维护一个数组的前缀和S[i]=A[1]+A[2]+...+A[i]。但是不难发现,如果我们修改了任意一个A[i],则S[i]、S[i+1]、...、S[n]都会发生变化。可以说,每次修改A[i]后,调整前缀和S[]在最坏情况下会需要O(n)的时间。当n非常大时,程序会运行得非常缓慢。因此,这里我们引入“树状数组”,它的修改与求和都是O(logn)的,效率非常高

2012-10-17 22:55:01 649

转载 AT&T汇编针对x86指令集格式

http://blog.csdn.net/zenny_chen/article/details/6321978目前很多开源基于x86处理器环境的C/C++,Objective-C/C++编译器所带的汇编器使用AT&T格式。AT&T汇编针对x86指令集与其它处理器(比如ARM、Blackfin等)有所不同,它与Intel自定义的汇编格式有比较大的偏差。GCC的汇编器能支持Intel语法特

2012-10-16 17:55:09 922

转载 寄存器汇编命令详解

http://wenku.baidu.com/view/2a399a5f312b3169a451a4f5.html汇编命令详解32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄

2012-10-16 16:30:26 985

原创 MS100 [061-070]

MS100 [061]找出数组中两个只出现一次的数字题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。思路:使用异或运算。第一遍,全部异或,得到A,A中至少有一位为1,记为t位。第二遍,对数组中的任意一个数,若t位为1,则与C异或,若t位为0,则与D异或。最后的C,D即为所求

2012-10-09 16:36:24 412

原创 MS100 [041-060]

MS100 [046]括号排列数四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())思路:12种MS100 [047]最长递减子序列求一个数组的最长递减子序列比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}思路:经典动态规划,方案一,记录max[i]为以a[i]接尾的最长递减子序列长度,从0到n-1不断更新m

2012-10-08 21:55:46 501

原创 MS100 [021-040]

MS100 [021]编程求解:输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.思路:纯编程题,只能暴力求解。MS100 [024]反转单链表和合并链表思路:反转注意处理头尾,编程题。合并两个链表时,可用:while(lista!=null || listb!=null){ if

2012-10-08 00:56:34 953

原创 MS100 [011-020]

MS100 [011]求二叉树中节点的最大距离思路:在某个子树中,最大距离是左子树中最长枝到右子树中最长枝的距离。简单的递归,每次递归中,返回值用max(left,right)+1,当前节点所在子树的最大距离为max(left)+max(right),用一个引用变量记录最大的距离值。MS100 [013]输出该链表中倒数第k个结点输入一个单向链表,输出该链表中倒数第k个

2012-10-07 23:08:42 587

原创 MS100 [002-010]

MS100 [002]设计包含min 函数的栈定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。思路:关键在于pop时能正确得到min为栈中剩下元素的最小值。所以定义栈中的元素为struct MinStackElement {  int data;  int min;//保存以当前元素为栈顶

2012-10-06 01:36:15 459

原创 MS100[001]

MS100[1]题目:把二元查找树转变成排序的双向链表输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ \6 14/ \ / \4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。方案一:BSTreeNode * treeToLinkedList(BSTreeNode * ro

2012-10-05 22:47:32 517

原创 POJ2255Tree Recovery

2255:Tree Recovery题目分析:使用前序序列和中序序列构造后序序列的题。当时面微软实习生的时候还问过这个。前序的第一个节点就是后序的最后一个节点,且该节点把中序序列划分成左右两个子树。中序的这两个子树对应着前序的两个子树,他们的长度分别相等。代码如下:#include #include using namespace std;string getPost

2012-10-03 22:15:11 522

原创 POJ2262 Goldbach's Conjecture

2262:Goldbach's Conjecture题目分析:一百万个数,开辟一个数组用于标识是否是素数,用bool型表示,总内存小于1M,然后查表即可。建立素数表,对每个素数,把该素数的所有倍数所在的位置都置为false。代码如下:1048kB 50ms688 B#include int main(){ bool primeMap[1000000];

2012-10-03 21:57:49 585

原创 POJ1083 Moving Tables

1083:Moving Tables题目分析:初看似乎像贪心算法中的活动安排问题,不同的是这里的所有活动(相当于搬桌子的距离)都需要安排。有四种贪心策略:最短优先,最长优先,最早开始时间优先,最早结束时间优先。活动安排问题采用的是最早结束时间优先。此题要求所有活动都被安排,直观的想同时进行的活动相互之间的间隔最小最好。可以证明最早开始时间优先满足要求。证明:令S = P1,P2,P

2012-10-03 20:11:08 702 1

原创 POJ2159 Ancient Cipher

2159:Ancient Cipher题目分析:很简单的一道题。大意是判断两个字符序列是否可以通过字符替换(substitution )和交换(permutation)变成对方。初看似乎需要穷举所有substitution和permutation序列,但细想后发现:1.permutation让序列不用考虑顺序问题,可以看作是两个字符集合,题目简化为判断两个字符集合是否可通过substi

2012-10-02 22:21:07 1607 2

转载 POJ分层练习题目列表

POJ上的一些水题(可用来练手和增加自信) (poj2159,poj1083,poj2262,poj2255) 初期: 一.基本算法:       (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.       (4)递推.       (5)构造法.(poj3

2012-10-02 21:41:44 638

空空如也

空空如也

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

TA关注的人

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