- 博客(28)
- 资源 (18)
- 问答 (2)
- 收藏
- 关注
原创 Brackets Sequence--poj--1141
Brackets SequenceTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 11854Accepted: 3164Special JudgeDescriptionLet us define a regular
2010-05-30 10:17:00 1451
原创 Parliament--POJ--1032
ParliamentTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 10936Accepted: 4570DescriptionNew convocation of The Fool Lands Parliament consi
2010-05-29 13:20:00 2185
原创 线段树的代码模板
线段树的应用:1)求面积:一.坐标离散化;二.垂直边按x坐标排序;三.从左往右用线段树处理垂直边,累计每个离散x区间长度和线段树长度的乘积。2)求周长:一.坐标离散化;二.垂直边按x坐标排序,第二关键字为入边优于出边;三.从左往右用线段树处理垂直边,在每个离散点上先加入所有入边,累计线段树长度变化值,再删除所有出边,累计线段树长度变化值;四.水平边按y坐标排序,
2010-05-27 14:43:00 3471
原创 《认清C++语言》之--内存管理
内存分配方式主要有三种:1)从静态存储区域分配;内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,例如全局变量、static变量;2)在栈上创建;执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限;3)从堆上分配,即动态内存分配。使用malloc或new申
2010-05-26 20:26:00 1758
原创 线段树
树结构的基本思想是分割。普通二叉搜索树是按对象来进行划分,效果往往和数据结构内对象有关;而线段树是根据关键码的可能范围来分的,这种技术叫做关键空间分解! 线段树的处理对象是线段(一般意义上的区间可以抽象成线段),它把线段组织成利于检索和统计的形式,本质上是线段的二叉搜索树!当然,线段树特殊点在与其中的线段可以分解和合并,另外,线段树操作的是整个区间,它的渐进时间效率不依赖于数据结构中的对象
2010-05-26 08:20:00 2538 2
原创 桶排序及其应用
桶排序(Bucket Sort)有时也称为盒子排序(Bin Sort),来源于邮局使用的盒子信件分发方法。桶排序的有效性需假定输入数据是由一个完全随机过程产生,即要求桶排序的输入数据呈均匀分布,例如,输入数据随机均匀分布在区间[0, 1)。桶排序思想如下:1)把区间[0, 1)分解为n个大小相等的桶;2)将n个输入数据按照其取值不同分配到n个桶里面;3)对每个桶里面的数
2010-05-24 16:26:00 5320
原创 《动态规划》之--字符串比较问题(扩展距离)
问题:对于长度相同的2个字符串A和B,其距离定义为相应位置字符距离之和。2个非空格字符的距离是它们的ASCII码之差的绝对值;空格与空格的距离为0,空格与其他字符的距离为一个定值k。在一般情况下,字符串A和B的长度不一定相同。字符串A的扩展是在A中插入若干空格字符所产生的字符串。在字符串A和B的所有长度相同的扩展中,有一对距离最短的扩展,该距离称为字符串A和B的扩展距离。对于给定的字符串A和B
2010-05-23 22:56:00 11232 3
原创 《算法之美》の链表问题の获得链表中倒数第m个元素
问题:给定一个单向链表,设计一个时间优化并且空间优化的算法,找出该链表的倒数第m个元素。实现您的算法,注意处理相关的出错情况。m定义为当m=0时,返回链表最后一个元素。 解答:这是一个难题,因为单向链表只能正向遍历,这个问题需要根据元素与链表尾的相对位置来找出该元素,但是当发现链表尾时,没有简单的办法回溯到倒数第m个元素。 我们需要的是倒数第m个元素
2010-05-23 17:00:00 2508 2
原创 《算法之美》の链表问题のremoveHead中的缺陷
问题:发现并修复下面C/C++函数中的缺陷,该函数是想从一个单向链表中删除头元素。void removeHead(Node *head){ delete head; head = head->next;} 解答:缺陷发现策略:对于拿到的任何函数,考虑下面4个常见的问题:1)检查数据是否正确地进入了该函数;2)检查函数的每一行是
2010-05-23 16:53:00 1693
原创 《算法之美》の链表问题の记住头元素+删除元素
记住头元素:单向链表的头元素必须至始至终要记住,否则链表将会在内存中丢失。这意味着在链表第一个元素之前插入新元素或删除链表第一个元素时,指向链表头的指针或引用必须更新。在C/C++中,很容易因误用指针而犯错误,如下面代码,它在链表的前面插入一个元素:bool insertInFront(IntElement *head, int data){ IntElemen
2010-05-23 16:48:00 1526 2
原创 《算法之美》の链表问题の判断链表循环与否
问题:一个链表要么以NULL结尾(非循环的),要么以循环结尾(循环的),请编写一个函数,接受链表的头指针作为参数,确定该链表是循环的还是非循环的。如果链表是循环的,函数返回true,如果是非循环的,函数返回false。注意,不能以任何方式修改链表。 解答:这两种链表的区别在与它们的末尾。在非循环链表中,末尾节点是以NULL结束的,因此只要遍历链表,直到找到一个以NULL结尾的节点就
2010-05-23 11:40:00 1774
原创 WinSock数据结构
WinSock数据结构:在VC的头文件winsock.h和winsock2.h中定义了许多常数、变量类型和数据结构:1、动态链接库关联的数据结构WSAData:(winsock2.h中的定义,winsock.h中的定义类似)#define WSADESCRIPTION_LEN 256#define WSASYS_STATUS_LEN 128typedef
2010-05-21 19:35:00 1726
原创 Color Me Less--poj--1046
Color Me LessTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 18730Accepted: 8886DescriptionA color reduction is a mapping from a set of dis
2010-05-20 19:31:00 1524
原创 Common Subsequence--poj--1458
Common SubsequenceTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 17815 Accepted: 6847DescriptionA subsequence of a given sequence is the
2010-05-20 15:01:00 1955
原创 The Triangle--poj--1163
The TriangleTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 19122Accepted: 11144Description73 88 1 02 7 4 44 5 2 6 5(Fi
2010-05-20 10:41:00 1238
原创 Complicated Expressions--POJ--1400
Complicated ExpressionsTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 887Accepted: 314DescriptionThe most important activity of ACM is the
2010-05-19 22:19:00 1589
原创 滑雪--POJ--1088
滑雪Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 36967Accepted: 13013DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,
2010-05-19 22:05:00 1708
原创 Ancient Cipher--POJ2159
Ancient CipherTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 13258Accepted: 4719DescriptionAncient Roman empire had a strong government sy
2010-05-18 08:31:00 1642
原创 Tree Recovery---POJ--2255
Tree RecoveryTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3771 Accepted: 2526DescriptionLittle Valentine liked playing with binary tree
2010-05-17 08:42:00 1303
原创 《Windows内核编程》の基本汇编指令
1)用VS2010新建Win32 Console Application,工程名为ACECore,工程建立完成后得到打开文件ACECore.cpp,代码如下:#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){return 0;} 2)用VS2010查看汇编代码的方法:1. VC必须处于debug状态
2010-05-07 08:32:00 3084 1
原创 认清C++语言之《模板特化specialization》
模板:1) 区分模板参数(template parameter)和模板实参(template argument),前者用于模板的声明,后者用于模板的特化中:templatetypename T> //T是一个模板参数class Heap {.....};//........Heapdouble> dHeap; //
2010-05-06 08:33:00 1785
原创 认清C++语言之《函数指针》
函数指针:1) 可以声明一个指向特定类型函数的指针:void (*fp)(int); //指向函数的指针注意:其中的括号是必不可少的,它表明fp是一个指向返回值为void的函数的指针,而不是返回值为void*的函数。 指向函数的指针可为空,否则它应该指向一个具有适当类型的函数:extern int acef(int);extern void aceg(long);
2010-05-04 08:58:00 859
原创 认清C++语言之《成员函数查找》
成员函数查找:1) 调用一个成员函数时,涉及三个步骤:一是编译器查找函数的名字;二是从可用候选者中选择最佳匹配函数;三是检查是否具有访问该匹配函数的权限。例如:class App{public://........void find(double);}; class ACEApp : public App{void find(int);};
2010-05-04 08:44:00 1224
原创 《认清C++语言》---new and delete
1) new操作符(new operator)和operator new函数的区别: 下面的代码:string *ps = new string("Memory Management");使用的new是new操作符,这个操作符就像sizeof一样是内置于语言本身的。它所完成的功能分成两部分:首先分配足够的内存以便容纳所请求类型的对象(如上面的string对象);其次它会调用构造函
2010-05-04 08:25:00 1498
原创 《认清C++语言》---堆对象
强制在堆中建立对象:有时候,我们要求某种类型的对象能够自我销毁,也就是能够“delelte this”,因此,我们需要将此类型的对象分配在堆上。由于非堆对象在定义它的地方被自动构造,在生存期结束时被自动释放,因此我们只要禁止使用隐式的构造函数和析构函数就可以限制对象在堆上分配内存。 最直接的方法是将构造函数和析构函数都声明为private,但这样副作用太大。因此,最好将析构函数置为pr
2010-05-03 19:35:00 1605
原创 认清C++语言之《制造抽象基类》
1) 抽象基类通常用于表示目标问题领域的抽象概念,创建这种类型的对象时没有任何意义的。我们通过至少声明一个纯虚函数(或从别的类继承一个纯虚函数并且不予实现)使得一个基类成为抽象的,编译器将会确保没人能够创建该抽象基类的任何对象:class ACEClass{public:virtual ~ACEClass();virtual void someOpetation() = 0;
2010-05-03 18:54:00 954
原创 《认清C++语言》---类型转换和多级指针
类型转换:1、 C风格的类型转换不尽如人意:1)很粗鲁,我们可以通过它们在任意类型之间进行转换;2)该类型转换很难进行查找。2、 C++通过引入4种新的类型转换操作符克服了C风格的类型转换的缺点:static_cast、const_cast、dynamic_cast、reinterpret_cast。有了这些操作符,以前习惯的写法:(type)expression;现在通常写
2010-05-01 17:18:00 1557
原创 《认清C++语言》---引用和指针
1、 首先要认识到不存在类似于空引用(null reference)这样的东西。引用必须要指代某个对象,因此,如果有一个用于指代另外一个对象的变量,但是有可能没有这么一个可供指代的对象,这时就应该把这个变量声明成指针,因为这样就可以将它设为空值(null)了。反之,如果这个变量必须指代一个对象,即我们将这个变量设计成不允许为空值,那么这时基本上应该将这个变量声明成引用。2、 因为引用总是
2010-05-01 17:13:00 1731
Linux防火墙
2012-03-14
Panoramio Android源码
2012-02-24
mvn jetty plugin 配置
2011-01-07
mvn 里面要依赖jar导出怎么做???
2011-01-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人