- 博客(33)
- 资源 (7)
- 收藏
- 关注
原创 katalan数
<br />katalan数:<br />http://zh.wikipedia.org/zh/%E5%8D%A1%E5%A1%94%E5%85%B0%E6%95%B0<br /> 我总结了一下,最典型的四类应用:(实质上却都一样,无非是递归等式的应用,就看你能不能分解问题写出递归式了)<br /><br />1.括号化问题。<br /> 矩阵链乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)<br /><br
2011-01-12 23:25:00 776
原创 求逆序数
<br />求逆序数:<br />1.冒泡排序,因为冒泡排序只交换两个相邻的数,所以每一次交换都只改变一个逆序,所以可以统计冒泡排序的交换元素的次数。<br />2.归并排序。<br />3.树状数组。<br />http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binaryIndexedTrees<br />http://blog.csdn.net/suwei19870312/archive/2010/02/06/5293694.
2011-01-12 23:25:00 598
原创 文件特殊权限:SUID/SGID/Sticky Bit
文件特殊权限:SUID/SGID/Sticky Bithttp://www.anqn.com/os/linux/2009-03-01/a09108173.shtmlSet UID会创建s与t权限,是为了让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限。SUID仅可用在“二进制文件(binary file)”ls -l /usr/bin/passwd-r-s--x--x 1 root root 18840 Mar 7 18:06 /usr/bin/passwdSet GID进一步而言,如
2011-01-12 23:24:00 638
原创 c语言的宏定义缺陷
c语言的宏定义缺陷http://hi.baidu.com/_kouu/blog/item/e86954eff3c342202cf53440.htmlAfter the arguments for the invocation of a function-like macro have beenidentified, argument substitution takes place. A parameter in the replacementlist, unless preceded by a #
2011-01-12 23:23:00 967 1
原创 spring的一些简单概念
现在学习一下spring的具体概念:1.IOC inverse of control 控制反转 是一种可以帮助我们解耦各业务对象间依赖关系的对象绑定方式。避免冗余的factory和singleton2.依赖注入的方式有三种:接口注入,构造方法注入,setter方法注入。 3.当前流行的IOC Service Provider产品使用的注册对象管理信息的方式主要有以下几种:直接编码方式:通过为相应的类指定对应的具体实例 spring配置文件方式:spring元数据方式:代表是googl
2011-01-12 23:21:00 751
原创 Mybatis JPetStore 学习笔记(一)
Mybatis JPetStore 学习笔记(一):1. 首先看配置文件: 根目录/WEB-INF 下有两个配置文件:applicationContext.xml和web.xml很显然,applicationContext.xml是专门用来配置spring的。其中有:1)对数据库的配置:jdbc:embedded-database2)数据库transaction manager的配置:org.springframework.jdbc.datasource.DataSourceTran
2011-01-12 23:20:00 4527
原创 HSQLDB 试用
1.先试用服务器模式。1)下载hsqldb,解压并进入该目录,创建data目录。2)创建数据库:java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:test1 -dbname.0 testyll上面语句创建了一个以testyll为访问名字的数据库,不过该数据库在data目录下的存储文件的名字为test1.3)java -cp ../lib/hsqldb.jar org.hsqldb.DatabaseManager 打开Da
2011-01-12 23:16:00 1392
原创 一些有趣的问题
<br />1. 不用比较操作(if, >, <)实现max/min <br />(1) max=(abs(a-b)+a+b)/2 min=(a+b)-max=((a+b)-abs(a-b))/2 <br />(2) int Max(int a, int b)<br /> {<br /> int ret[2] = { a, b };<br /> int d = a - b;<br />
2010-10-17 23:45:00 1188
转载 简述configure、pkg-config、pkg_config_path三者的关系
原文出自于:http://www.mike.org.cn/articles/description-configure-pkg-config-pkg_config_path-of-the-relations-between/一、什么是configure 源码安装过程中大多会用到configure这个程序,一般的configure都是一个script,执行时可以传入必要参数告知配置项目。 configure程序它会根据传入的配置项目检查程序编译时所依赖的环境以及对程序编译安装进行配置,最终生成编译所需的M
2010-09-11 16:29:00 903
转载 C语言的谜题
<br />原文出自于:<br /> <br />http://blog.csdn.net/haoel/archive/2009/06/01/4231029.aspx 陈皓<br /> <br /> <br />我们可以看到很多C语言相关的一些东西。比如《语言的歧义》主要告诉了大家C语言中你意想不到的错误以及一些歧义上的东西。而《谁说C语言很简单》则通过一些看似你从来不可能写出的代码来告诉大家C语言并不是一件容易事情。《6个变态的hello world》和《如何弄乱C的源代码》则以一种极端的方式告
2010-09-07 14:32:00 424
转载 继承----有关虚函数和虚拟继承
可以参考以下文章:http://blog.csdn.net/haoel/archive/2007/12/18/1948051.aspx C++ 虚函数表解析http://blog.csdn.net/haoel/archive/2008/10/15/3081328.aspx C++对象的内存布局(上)http://blog.csdn.net/haoel/archive/2008/10/15/3081385.aspx C++对象的内存布局(下)http://www.cnblogs.com/cswuyg/ar
2010-09-07 13:22:00 1298
转载 NIM(1) 一排石头的游戏
<br />http://dev.firnow.com/course/3_program/c++/cppjs/20090524/167795.html<br />若规定最后取光石头的人输,又该如何应对呢(还有必胜的策略么?)?<br />仍然用<1,1,1,1>这种形式来表示石头.仍然是你先取.<br />如果是1块,你必输.<br />如果是2块,你赢.你可以在边角取走一块,然后便成为:这时候只剩1块石头,对手先取.这样就成1块石头的情况,结果当然是对手输<br />如果是3块,你赢.你可以在边角取走两块
2010-09-04 18:34:00 1958 6
转载 i++为什么不能作为左值?
<br />(1)首先说左值和右值的定义:<br />变量和文字常量都有存储区,并且有相关的类型。区别在于变量是可寻址的(addressable)对于每一个变量都有两个值与其相联:<br />1).它的数据值,存储在某个内存地址中。有时这个值也被称为对象的右值(rvalue,读做are-value).我们也可认为右值的意思是被读取的值<br />(read value)。文字常量和变量都可 被用作右值。<br />2).它的地址值——即存储数据值的那块内存的地址。它有时被称为变量的左值(lva
2010-09-03 19:44:00 6091 5
原创 C++Template头文件和定义分开编译的问题
<br />(1)<br />// Foo.h<br />template<typename T><br />class Foo<br />{<br />public:<br />void f();<br />};<br /><br />// Foo.cpp<br />#include <iostream><br />#include "Foo.h"<br /><br />template<typename T><br />void Foo<T>::f()<br
2010-08-29 16:28:00 2224
转载 Linux内核和传统Unix内核的比较
<br /> <br /><br /> 所有的Unix内核都同宗同源,并且提供相同的API,现代的Unix内核存在许多设计上的相似之处。<br />Unix内核几乎毫无例外的都是一个不可分割的静态可执行块(文件)。也就是说,它们必须以完整、单<br />独的可执行块的形式在一个单独的地址空间中运行。<br />Unix内核几乎都需要硬件系统提供页机制以管理内存。这种页机制可以加强内存空间的保护,并保证每<br />个进程都可以运行于不同的虚地址空间上。 <br /> 单内
2010-08-28 19:57:00 6829 1
原创 书单
此种颜色代表已读,而且目前也不打算重读的书。此种颜色代表已读,但是还打算近期重新翻阅一下的书。此种颜色代表读了一些,但还未读完的书,近期打算继续读下去的书。此种颜色代表还未读,近期打算读的书。此种颜色代表还未读,但近期不打算读的书。java:thinking in java,effective javahead first jsp&servlethead first design patternc/c++:the c programming languageC陷阱与缺陷C专家编程c++ pr
2010-08-27 10:37:00 681 1
转载 C/C++ 程序设计员应聘常见面试试题深入剖析
<br /> 1.引言<br /><br /> 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。<br /><br /> 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者
2010-08-26 14:43:00 349
原创 c++的四种转型关键字
const_cast<br />Syntax: TYPE const_cast<TYPE>(object);<br />The const_cast keyword can be used to remove the const or volatile property from an object. The target data type must be the same as the source type, except (of course) tha
2010-08-26 10:45:00 678
原创 printf的实现
<br /><br />一. 何谓可变参数 <br />int printf( const char* format, ...); <br />这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用”…”表示). 而我们又可以用各种方式来调用printf,如: <br />printf( "%d ",value); <br />printf( "%s ",str); <br />printf(
2010-08-22 22:01:00 718
转载 静态链接库编译的问题
<br />http://hi.baidu.com/liaimin/blog/item/4d2d7bcbbe320d1bbf09e605.html
2010-08-17 21:13:00 401
原创 pku 2337 Catenyms
<br />以字母为节点,字符串为有向边,寻找有向图的欧拉通路。<br />先回顾一下欧拉通路与回路的定义:<br />定义:<br />欧拉通路 (欧拉迹):通过图中每条边且只通过一次,并且经过每一顶点的通路。<br />欧拉回路 (欧拉闭迹):通过图中每条边且只通过一次,并且经过每一顶点的回路。<br />欧拉图:存在欧拉回路的图。<br />简单说欧拉通路就是首尾不相接,而欧拉回路要求首尾相接。<br />无向图是否具有欧拉通路或回路的判定:<br />欧拉通路:图连通;图中只有2个度为奇数的节点(就
2010-08-13 15:43:00 809
转载 MapReduce
MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。[1]当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。目录[隐藏]1映射和化简2分布和可靠性3用途4其他实现5参考6外部链接[编辑]映射
2010-08-13 14:49:00 754
转载 Linux 内核中用C来实现面向对象
1. 就目前的linux内核代码中,驱动程序这块可以说是用C语言进行面向对象编程的一个很好的例子,另外还有一个例子是文件系统部分。驱动这块的布局是:struct usb_interface 包含一个struct device,而struct device包含一个struct kobject结构,struct kobject又包含struct kref。需要说明的是:(1)kobject 结构体是用来统一的显示不同的设备,以及和这些设备相联系的虚拟文件系统,这个结构仅具有非常基础的功能
2010-08-08 12:10:00 1552
转载 SCTP防止SYN Flooding攻击的原理
1. TCP中的SYN Flooding攻击原理:要明白这种攻击的基本原理,还是要从TCP连接建立的过程开始说起。由于 TCP基于连接的,为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟电路,也就是TCP连接,建立TCP连接的过程也就是我们熟悉的“三次握手”过程:首先,请求端(客户端)发送一个包含SYN标志的TCP报文,表示客户端欲发起通信连接;第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受;第三步,客户端也返回一个确认报文ACK给服务
2010-08-03 10:50:00 544
原创 向量旋转算法集锦
http://blog.csdn.net/goal00001111/archive/2008/12/29/3635929.aspx /* Name: 向量旋转算法集锦 Copyright: 始发于goal00001111的专栏;允许自由转载,但必须注明作者和出处 Author: goal00001111 Date: 28-12-08 23:28 Description: 向量旋转算法:将具有n个元素的向量a向左旋转r个位置。
2010-07-18 18:49:00 722
转载 算法导论习题:寻找第2小元素&&关于常见排序算法的稳定性分析和结论
关于常见排序算法的稳定性分析和结论 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外
2010-07-18 18:45:00 1480 2
原创 常见面试题智力题
1.一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子? Answer:假如只有一个人戴黑帽子,那他看到所有人都戴白帽,在第一次关灯时就应自打耳光,所以应该不止一个人戴黑帽子;如果有两顶黑帽子,第一次两人
2010-07-08 13:19:00 740
原创 并查集,二进制
一种简单而有趣的数据结构——并查集 - goal00001111的专栏 - CSDN博客http://blog.csdn.net/goal00001111/archive/2008/12/24/3595844.aspx二进制在数学中的妙用http://blog.csdn.net/goal00001111/archive/2008/11/17/3318739.aspx
2010-07-02 18:06:00 418
转载 超文本传输协议HTTP
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定义了HTTP协议
2010-06-17 23:13:00 925
原创 设计一个string类
//实现字符串的基本操作(构造函数,复制构造函数,求子串,=重载,+=重载,匹配)。 #include #include #include using namespace std; const int maxlen=128; class string { public: string(const string&ob); string(const char*init); string(); ~string (){delete[]ch;}
2010-06-17 22:36:00 2258
转载 搜索算法集锦
搜索有以下几种算法: 枚举算法: 也即列举问题的所有状态从而寻找符合问题的解的方法。 适合用于状态较少,比较简单的问题上。 广度优先搜索: 从初始点开始,根据规则展开第一层节点,并检查目标节点是否在这些节点上,若没有,再将所有的第一层的节点逐一展开,得到第二层节点,如没有,则扩展下去,直到发现目标节点为止。 比较适合求最少步骤或最短解序列的题目。 一般设置一个队列queue,将起始
2010-06-16 21:38:00 39658 3
转载 ACM PKU 1177 Picture
http://acm.pku.edu.cn/JudgeOnline/problem?id=1177 //这个题呢,据说是用线段树来求解,下面有一个示例解法,但我觉得好像有点问题,仅供参考,譬如在输入 3 -1 –1 0 0 0 –1 1 2 -1 1 0 2 时结果应该为12 但该程序的结果是16 #include #include using namespace std; const int MAXINT = 99999999; struct TSegment
2010-06-16 20:20:00 958
osip和exosip在VS2008下
2009-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人