自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Justme0的专栏,新个人主页 justme0.com

绘画美 建筑美 编程美

  • 博客(80)
  • 资源 (8)
  • 收藏
  • 关注

原创 函数式编程与 C++

这个学期学了一门函数式语言 Coq,是法国人发明的,它与 ML 很像,其实 Coq 的发明主要是受了 ML 的影响。Coq 的语法我就不在这叙述了,有兴趣的朋友可以看这本书 Software Foundations,也就是我们上课用的教材。下面直接看些例子吧。1. map它的功能与 C++ 中的std::transform算法类似,是将f作用在list中的每个元素(元素类型是X)上,返回一个list

2015-04-22 12:34:32 3359 1

原创 C/C++ 中生成特定范围内的随机数

大家在写 C/C++ 程序时,难免会遇到要求获取某个范围内的随机数,我查阅了一些资料后,总结如下。本文分两部分,先介绍 C 语言中与随机数相关的两个函数 srand 和 rand,后介绍 C++ 中的 random 库,每一部分最后会给出生成特定范围内的随机数模板供参考。1 C 语言中的 srand 和 rand1.1 实现下面是 VC 的实现,GCC 的实现比 VC

2014-11-27 16:04:02 26873 1

原创 C++ 中的 Lambda 表达式

前些天买了本《程序设计语言理论》,看了简介,Lambda 演算贯穿整个理论,尤其在函数式语言中具有重要作用。C++11 中也加入了 Lambda 表达式,下面做个总结。1、一个简单的 Lambda 表达式如下:[] {}这就定义了一个对象,这个对象匿名,记住,Lambda 表达式是对象,不是类型,这很重要!本例中,该对象的类型是 'anonymous-namespace'::<lambda0>,这是编译器给它设的一个类型名。

2014-05-08 16:52:36 2507

原创 【算法】第 n 小数 nth_element

STL 中取第 n 小数的算法 nth_element 的函数原型如下template<class RandomAccessIterator>void nth_element(RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last);算法说明:1、功能:执行 nth_element 后,nth 所指位置的元素将是整个区间有序时在该处的元素。对 [first, nth) 中的任意迭代器 i 和 [n

2014-04-30 16:48:02 3178

原创 【算法】中位数 median

median 是 STL 内部的算法,用于求三个数的中位数,它将用于 std::sort, std::nth_element 的实现中,快速排序和求第 k 小数算法都用到了划分,选取 pivot 时为“三者取中”,即 *first, *(first + (last - first) / 2), *(last - 1) 三者的中位数,这两个算法后面会介绍。median 的源码如下:templ

2014-04-26 22:23:39 6856

原创 【算法】划分 partition

STL 中的划分算法 partition 的函数原型如下template ForwardIterator partition(ForwardIterator first, ForwardIterator last, Predicate pred);四点说明:1、作用:将 [first, last) 中所有满足 pred 的元素置于不满足 pred 的元素前面。2、返回值:设返回的迭代

2014-04-25 21:44:52 6776

原创 【算法】插入排序 insertion_sort

准备写个《STL 源码剖析》的读书笔记,开个专栏,名为《STL 的实现》,将源码整理一遍。很喜欢侯捷先生写在封底的八个字:天下大事,必作于细!他在书中写到:我开玩笑地对朋友说,这本书出版,给大学课程中的「数据结构」和「算法」两门授课老师出了个难题。几乎所有可能的作业题目(复杂度证明题除外),本书都有了详尽的解答。然而,如果学生能够从庞大的SGISTL源码中干净抽出某一部份,加上自己的包装,做为呈堂作业,也足以证明你有资格获得学分和高分。事实上,追踪一流作品并于其中吸取养份,远比自己关起门来写个三流作品,价

2014-04-22 17:20:19 3229 1

原创 用有限自动机实现正则表达式的匹配

问题:在主串中查找是否存在正则表达式为 abc*d?e 的匹配,下面用有限自动机的方法查找,该正则表达式的最简 DFA 如下状态转换表如下图所示程序中用二维数组定义如下#define STATES_NUMBER 5#define LETTER_NUMBER 5// 表示 abc*d?e 的最简 DFA 的状态转换表(-1表示不接受)int trans_table[STA

2014-03-08 18:33:12 8143

原创 C 语言中模拟“泛型”

一般在写 C 程序时用 typedef 将容器中元素的类型抽象,无法在同一个程序中用到两种类型,而本文试图在一个程序中用到两种不同类型的容器,比如实现类似于 C++ 中的 vector 和 vector。核心技术是将元素类型定义为 void *,管它什么类型,都用 void * 类型的指针指向真正的数据,与此同时,类型的大小是个重要信息,比如一般地,char 为1个字节,double 为4个字节。

2014-02-07 22:44:15 3682

原创 求二叉树的带权路径长度(深搜或广搜)

考研昨天结束了,专业课我考得不好,是408,算法题13分。今年是求二叉树的带权路径长度,我就写了算法思想,代码空白,因为时间来不及了,慌了,是心态的问题吧,做到最后有种天要塌下来的感觉,回来后很沮丧,因为我觉得自己是可以写出程序的,不服啊! 下面说说这道题目。树的带权路径长度(Weighted Path Length)定义:树中所有叶子的带权路径长度之和。比如下面这棵树,WPL就是3*

2014-01-06 17:28:56 7780 3

原创 上机实现操作系统课程中的 PV 操作

各位上过《操作系统》的同学都知道进程同步这个知识点,汤小丹那本“考研指定教材”上面描述 PV 操作是用 Pascal 语言的,看着真心难受,各种题目也是要求我们纸上写程序,本人真心反感,写了都不知道对不对。下面这个程序是在 Windows 下用 C 语言写的,选的例子是经典的“生产者消费者问题”,希望对大家有所帮助。“生产者消费者问题”的程序如下,假设有多个缓冲区,多个生产者,多个消费者。它们

2013-11-06 17:27:21 2131

原创 用二级指针操作不带头结点的单链表

在不带头结点的单链表中删除特定元素,一种很麻烦的情况是首结点即要删的结点,所以往往标识一个链表的 head 就会改变,而在删除函数中要改变客户端的 head,就必须传入 head 的地址,否则客户端的 head 永远不会改变,也就是说,若形参为 Node * 类型,修改的只是 head 的副本,这是C语言中的基础问题。这篇博客是我读了皓哥的这篇文章《Linus:利用二级指针删除单向链表》有感而写的

2013-10-06 00:56:32 3270 8

翻译 用 C++ 标准模板库(STL)的 vector 实现二叉搜索树(BST)

本文由 Justme0 翻译自 Code Project 转载请参见文章末尾处的要求。介绍众所周知,要建一棵树,我们需要关注它的内存分配与释放。为了避开这个问题,我打算用C++ STL(vector和deque)来建一棵小型的BST。很明显,这篇文章是出于这个想法的。 背景BST是应用最广泛的数据结构之一。C是首选语言,不过因为C++尤其是C++11的出现,我更有兴

2013-09-05 17:31:07 7014 2

原创 C 语言中实现数据与方法的封装

在 C 语言中可以用结构体代替类,用函数指针代替成员方法,实现数据成员与成员方法的封装,在客户端程序中写出的程序与 C++ 类似,唯一的不同是 C 语言中调用函数指针成员时必须将本对象的地址传给函数,因为 C 语言中各函数的地位是相同的。       本文以模仿 STL 中的 vector 类写了一个 C 语言的 vector 结构体,程序如下:1. vector 的接口/******

2013-08-19 00:25:58 3431

原创 第一次面试

下午课刚上完,我收到了HR的通知,得知没有通过面试,这是一家在合肥的软件公司。挺不爽的,我觉得主要是因为经验少。还是谈谈面试官问我的两个技术问题吧,我应聘的是C++软件开发工程师。1、STL中的map是线程安全的吗?我的回答:标准中没有规定,但是基本上STL都实现了,是线程安全的。其实是大部分版本的STL都不是线程安全的。我前几天刚好查了这个问题,参见:http://sta

2013-05-24 17:46:48 2742 7

原创 USACO 1.2.2 Transformations(模拟)

分析       这是我第一次在ACM的题目中用OO的思想写的程序,看到标程,竟不谋而合,结构是类似的。对正方形这个类分析,将会使问题变得简单,我觉得OO的分析和设计挺关键的,其实我一开始也没设计好,原先准备把7个bool函数当成类的成员方法,其实这个设计是不好的,有点过了。其实应该是把旋转90度和轴对称这两个方法作为类的成员方法,这样main中调用就方便自如了。       最后,我觉得

2013-03-30 13:14:08 1624 1

原创 POJ 1151 Atlantis(离散化+扫描线)

题目大意:求N个矩形的并的总面积。http://poj.org/problem?id=1151参考了黑书上讲离散化的那两页,想到了上学期学的计算机图形学里的多边形填充算法。src:/******************************************************************** created: 2013/03/28 created:

2013-03-28 11:59:05 1538

原创 USACO 1.1.4 Broken Necklace(模拟)

做这题做了一个下午,都快崩溃了。说下要点:1、要注意'w'这种特殊情况,到某位置时,注意左边、右边是'w'的情况。2、得把整个项链看出循环队列,所以指针移动时注意mod。3、我用的还是暴力法,O(n^2),看解题报告有O(n)的算法,用的是DP,还有待研究。源程序#define _CRT_SECURE_NO_WARNINGS#include #include

2013-03-24 00:18:36 1680

原创 完美二叉树(perfect)与正则二叉树(strict)的概念

“满二叉树(full)”的定义在国内和国外完全不同,国内指“完美二叉树(perfect)”,国外指“正则二叉树(strict)”,所以我建议国内外都取消“满二叉树(full)”这个叫法,这样就没有不必要的麻烦了。总结如下:参考资料:http://www.stackpop.org/html/366_cn_us_difference_ds.htmlhttp://st

2013-02-25 10:36:28 7277

原创 读《STL源码剖析》有感

一个月之前的今天是我的生日,一位关系不错的同学送了我本《STL源码剖析》,还有位送了我本《C和指针》,我就看起来了,这些天都在考试,就经常晚上11点半过后拿个手电筒看,我特别认可一句话:“兴趣是最好的老师。”         《C和指针》里面的内容很细,我就先看了《STL源码剖析》。第一次正式看一个上午看了40多页,自己都吃惊了。前言中孟岩的序写得不错,文笔好。第一章侯先生介绍了STL的历史,

2013-01-21 19:16:51 1958

原创 旋转字符串(循环移位,rotate)

旋转字符串是个经典问题。要求:时间复杂度O(n),空间复杂度O(1)。接口描述:http://www.sgi.com/tech/stl/rotate.html《编程珠玑》、《编程之美》上都有这个问题,关于左旋右旋整个旋的方法我就不说了。我的想法是,先左右比较,长的一段的大部分移到另一端,再递归进行余下的。比如: char str1[] = "abcdefghijkl

2013-01-14 18:11:00 2228

原创 数组传参的三种方法:泛型;压扁数组;数组结构

数组传参很常见,在C/C++中传递数组时,数组名会退化为指针,所以一般都要给出首地址和长度。这是有缺陷的,当我们在写函数时不知道各维大小时该怎么办呢?下面用矩阵乘法作为例子,给出三种实现方法:GP, flattening the array, struct其中我认为flattening the array 这种方法最好,OpenGL中的glMaplf 函数用的正是这种方法,它的函数原型如下

2013-01-10 17:34:09 2363

原创 模拟处理机调度

一、先来先服务#define _CRT_SECURE_NO_WARNINGS#include #include #include #include using namespace std;unsigned int sysTime = 0; // 模拟系统的时钟,每运行一次就加1enum Status {Ready, Complete}; // 就绪态Ready,完成

2013-01-08 18:30:50 1314

原创 模拟虚存管理

1、页表的数据结构页号标志主存块号修改位外存地址struct PageItem { unsigned pageID; // 作业的页号 unsigned outMAddr; // 该页在外存上的地址 bool state;

2013-01-08 18:12:49 2108

原创 考研结束了

考研结束了,下一届就轮到我们了,今天还跟同学聊了考研的事,我对考研政治不感冒,为什么要叫我们学政治?为什么要把这种信仰强加给我们?而那些申请国外研究生的同学就不用学了,凭什么?这真的很矛盾。我以后想搞技术。看了王道论坛上大家发的那些计算机试题,我觉得找工作的同学也应该准备,到公司里同样也可以研究数据结构和算法,不必总是沉浸在考研试题上,公司也是很强大的,更活!英语,我现在用到英语的地方就是喜欢用英

2013-01-06 20:29:50 2992

原创 初尝“元编程”(C++描述)

先看两个计算斐波拉契数的程序:(1)运行时#include using namespace std;const int N = 45;int Fib(unsigned n){ if (0 == n) return 0; if (1 == n) return 1; return Fib(n - 1) + Fib(n - 2);}int main(int argc, c

2013-01-02 22:40:56 1518 1

原创 CG实验2nd&3rd:二维几何变换、裁减、动画、三维透视

实验21、放缩与旋转说明:关键得到变换矩阵,放缩矩阵: doubleb[3][3] = { Sx,0, 0, 0,Sy, 0, -xF* Sx + xF, -yF * Sy + yF, 1 };旋转矩阵:

2013-01-01 12:48:24 2121 1

原创 CG实验4th:Bezier曲线

根据Bezier曲线的定义,画出曲线上密密麻麻的点即可。运行结果:源程序:/*** Justme0* 绘制Bezier曲线**/#define _CRT_SECURE_NO_WARNINGS#include #include #include #include "graphics.h"using namespace std;// 生成的Be

2012-12-25 19:25:47 1490

原创 CG实验4th:消隐

消隐采用的是深度排序算法(油画家算法)运行结果:源程序:#define _CRT_SECURE_NO_WARNINGS#include #include #include "graphics.h"using namespace std;struct MyRectangle { double x0; double y0; double x1; do

2012-12-25 18:43:12 1145

原创 微软Metro风格颜色值

觉得微软新一代的产品logo颜色很新颖。比如这个页面就很有特色:http://windows.microsoft.com/zh-CN/windows/home下面这些值都是我用拾色器取的,找了一些主要的,希望对做设计的朋友有帮助。微软logo红Hex={F6,53,14}绿Hex={7C,BB,00}蓝Hex={00,A1,F1}黄Hex={FF,BB,00}

2012-12-22 23:42:27 5050

原创 内存的连续分配与回收算法

几点说明:部分代码参考《数据结构》教材。1、采用空闲分区链链接空闲分区,用循环首次适应算法分配内存。 2、假定内存块的大小、地址以“字”为单位计。空闲区、作业区边界采用标识。“字”的数据结构如下:leftLinktagsizerightLink空闲空间upLink

2012-12-01 13:47:51 3814 2

原创 做网站有感

这四个星期在做课程设计,内容就是B/S模式的网站,繁!之前不知道HTML、CSS、JavaScript之类的,只泛泛地自学了C#,借了本ASP.NET看,我一直认为这些是快餐式的知识,因为微软高度封装了它,如张小牛所说,“想会就会”。不像数据结构、计算机组成原理、操作系统、网络原理这些考研课!一个人搞,经常是一边前台HTML,一边后台C#,一边数据库SQL。话不多说了,对网站中用到的一些方法和技巧

2012-11-24 00:54:21 1335

原创 auto_ptr类的源码注解

源码及注释如下,这比记忆语法好多了!个人认为,auto_ptr类设计地不行,比如都不能作为参数传递(传递后实参就没用了),失去了C指针的经典优势!// auto_ptr类的简化版,删除了有关auto_ptr_ref及auto_ptr的一些成员函数templateclass auto_ptr{public: typedef auto_ptr ClassType; explicit

2012-10-21 21:08:05 1204

原创 定点小数补码一位乘(Booth比较法)

程序:// 定点小数补码一位乘(Booth比较法)// http://blog.csdn.net/justme0#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;const int n = 4; // 数值位位数// a,b联合右移(算术移位)void RightM

2012-10-18 11:34:28 4908

原创 定点小数补码一位乘(校正法)

程序:// 定点小数补码一位乘(校正法)// http://blog.csdn.net/justme0#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;const int n = 4; // 数值位位数// a,b联合右移(算术移位)void

2012-10-17 22:37:39 6475

原创 定点小数原码一位乘(C++实现)

这学期在学计组,这里将用C++实现各种运算方法,其实那些算法应该是用电路硬件实现的,用高级语言来描述一遍也挺有意义。说明:输入输出的小数均以机器数表示,数值位为4位。#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;void RightMove(bitset &

2012-10-16 23:03:36 6011 1

原创 重载下标运算符[]

看了bitset的源码,发现要重载下标运算符[]内容还挺多的,作右值时相对简单,只用来测试。作左值时就比较麻烦,因为要修改它的值。 1、作右值举个例子:const bitset b;bool tag;tag = b.test(2);tag = b[2];上面第三句和第四句效果一样,都是测试b的下标为2的位是否为1。当bitset为const时,operato

2012-10-14 16:09:49 4986

原创 【库函数源码剖析系列】(6) strchr

strchr:// strchr#include char *Strchr(const char *s, int c){ for (; *s != (char)c; ++s) { if (*s == '\0') { return NULL; } } return (char *)s;}int main( int argc, ch

2012-09-29 00:53:05 2178

原创 【库函数源码剖析系列】(5) strcat

strcat:// strcat#include #include char *Strcat(char *dest, const char *src){ char *tmp = dest; while ('\0' != *dest) { dest++; } while ('\0' != (*dest++ = *src++)) { ; } return tm

2012-09-28 00:50:28 1466

原创 【库函数源码剖析系列】(4) strlen

strlen:// strlen#include size_t Strlen(const char *s){ const char *p = NULL; for (p = s; *p != '\0'; ++p) ; return p - s;}int main(int argc, char **argv){ char buffe

2012-09-25 19:59:42 1427 1

LLVM Cookbook

这本书是讲LLVM的,LLVM是个编译器后端,搞这块的朋友应该不陌生吧,而网上关于LLVM各个类的用法资料较少,基本靠代码注释生成的doxygen,这个pdf是文字版(非扫描版)。

2015-08-10

Effective Modern C++ sample

这是 Scott Meyers 的新书 Effective Modern C++ 第一章的样张。关于类型推导的items。

2014-07-24

内存分配算法(含伙伴系统)

内含伙伴系统、最坏、最佳三种分配方式的演示,有内存分配动态变化图。

2014-01-11

MS metro RGB

微软Metro风格颜色值,参见地址:http://blog.csdn.net/justme0/article/details/8374485

2012-12-22

具体数学(Knuth著)

是Knuth写的关于数学的经典书籍,是对计算机专业学生的数学要求。

2012-08-10

编写高质量代码:改善C++程序的150个建议

关于一些编程的小技巧,对于C/C++程序员的编程有参考价值。挺不错的。

2012-05-02

ACMICPC代码库

各种经典程序模版。 目录 目录 .............................................. 1 Graph 图论 ........................................ 3 | DAG 的深度优先搜索标记 ............................................. 3 | 无向图找桥 ..................................................................... 3 | 无向图连通度(割) ........................................................ 3 | 最大团问题 DP + DFS ................................................. 3 | 欧拉路径 O(E) ............................................................... 3 | DIJKSTRA 数组实现 O(N^2) ..................................... 3 | DIJKSTRA O(E * LOG E) ............................................. 4 | BELLMANFORD 单源最短路 O(VE) ................................. 4 | SPFA(SHORTEST PATH FASTER ALGORITHM) .............. 4 | 第 K 短路(DIJKSTRA) ................................................. 5 | 第 K 短路(A*) ............................................................ 5 | PRIM 求 MST .................................................................... 6 | 次小生成树 O(V^2) ...................................................... 6 | 最小生成森林问题(K 颗树)O(MLOGM). ...................... 6 | 有向图最小树形图 ......................................................... 6 | MINIMAL STEINER TREE ................................................ 7 | TARJAN 强连通分量 ........................................................ 7 | 弦图判断 ......................................................................... 7 | 弦图的 PERFECT ELIMINATION 点排列 .......................... 7 | 稳定婚姻问题 O(N^2) .................................................. 8 | 拓扑排序 ......................................................................... 8 | 无向图连通分支(DFS/BFS 邻接阵) ............................. 8 | 有向图强连通分支(DFS/BFS 邻接阵)O(N^2) ............ 8 | 有向图最小点基(邻接阵)O(N^2)............................... 9 | FLOYD 求最小环 .............................................................. 9 | 2-SAT 问题 ..................................................................... 9 Network 网络流 ................................... 11 | 二分图匹配(匈牙利算法 DFS 实现) ...................... 11 | 二分图匹配(匈牙利算法 BFS 实现) ...................... 11 | 二分图匹配(HOPCROFT-CARP 的算法) .................. 11 | 二分图最佳匹配(KUHN MUNKRAS 算法 O(M*M*N)) 11 | 无向图最小割 O(N^3) ............................................... 12 | 有上下界的最小(最大)流 .......................................... 12 | DINIC 最大流 O(V^2 * E) ....................................... 12 | HLPP 最大流 O(V^3) ................................................ 13 | 最小费用流 O(V * E * F) ....................................... 14 | 最小费用流 O(V^2 * F) ........................................... 14 | 最佳边割集 ................................................................... 15 | 最佳点割集 ................................................................... 15 | 最小边割集 ................................................................... 15 | 最小点割集(点连通度) ........................................... 16 | 最小路径覆盖 O(N^3) ................................................ 16 | 最小点集覆盖 ............................................................... 16 Structure 数据结构 ............................... 17 | 求某天是星期几 ........................................................... 17 | 左偏树 合并复杂度 O(LOG N) ................................... 17 | 树状数组 ....................................................................... 17 | 二维树状数组 ............................................................... 17 | TRIE 树(K 叉) .............................................................. 18 | TRIE 树(左儿子又兄弟) ............................................. 18 | 后缀数组 O(N * LOG N) ............................................ 18 | 后缀数组 O(N) ............................................................ 18 | RMQ 离线算法 O(N*LOGN)+O(1) ............................. 19 | RMQ(RANGE MINIMUM/MAXIMUM QUERY)-ST 算法 (O(NLOGN + Q)) ............................................................. 19 | RMQ 离线算法 O(N*LOGN)+O(1)求解 LCA ............. 19 | LCA 离线算法 O(E)+O(1) ........................................ 20 | 带权值的并查集 ........................................................... 20 | 快速排序 ....................................................................... 20 | 2 台机器工作调度 ........................................................ 20 | 比较高效的大数 ........................................................... 20 | 普通的大数运算 ........................................................... 21 | 最长公共递增子序列 O(N^2) .................................... 22 | 0-1 分数规划 ............................................................... 22 | 最长有序子序列(递增/递减/非递增/非递减) .... 22 | 最长公共子序列 ........................................................... 23 | 最少找硬币问题(贪心策略-深搜实现) ................. 23 | 棋盘分割 ....................................................................... 23 | 汉诺塔 ........................................................................... 24 | STL 中的 PRIORITY_QUEUE .......................................... 24 | 堆栈 ............................................................................... 24 | 区间最大频率 ............................................................... 24 | 取第 K 个元素................................................................ 25 | 归并排序求逆序数 ....................................................... 25 | 逆序数推排列数 ........................................................... 25 | 二分查找 ....................................................................... 25 | 二分查找(大于等于 V 的第一个值)........................ 26 | 所有数位相加 ............................................................... 26 吉林大学ACM Group 2 Number 数论 ...................................... 27 |递推求欧拉函数 PHI(I) ............................................... 27 |单独求欧拉函数 PHI(X) ............................................... 27 | GCD 最大公约数 .......................................................... 27 | 快速 GCD ...................................................................... 27 | 扩展 GCD ...................................................................... 27 | 模线性方程 A * X = B (% N) .................................. 27 | 模线性方程组 ............................................................... 27 | 筛素数 [1..N] ............................................................ 27 | 高效求小范围素数 [1..N] ........................................ 27 | 随机素数测试(伪素数原理) ...................................... 27 | 组合数学相关 ............................................................... 27 | POLYA 计数 .................................................................... 28 | 组合数 C(N, R) ........................................................... 28 | 最大 1 矩阵 ................................................................... 28 | 约瑟夫环问题(数学方法) ....................................... 28 | 约瑟夫环问题(数组模拟) ....................................... 28 | 取石子游戏 1 ................................................................ 28 | 集合划分问题 ............................................................... 28 | 大数平方根(字符串数组表示) ............................... 29 | 大数取模的二进制方法 ............................................... 29 | 线性方程组 A[][]X[]=B[] ....................................... 29 | 追赶法解周期性方程 ................................................... 30 | 阶乘最后非零位,复杂度 O(NLOGN) ........................... 30 递归方法求解排列组合问题 ......................... 31 | 类循环排列 ................................................................... 31 | 全排列 ........................................................................... 31 | 不重复排列 ................................................................... 31 | 全组合 ........................................................................... 32 | 不重复组合 ................................................................... 32 | 应用 ............................................................................... 33 模式串匹配问题总结 ............................... 33 | 字符串 HASH .................................................................. 33 | KMP 匹配算法 O(M+N) ............................................... 33 | KARP-RABIN 字符串匹配 ............................................. 33 | 基于 KARP-RABIN 的字符块匹配................................. 33 | 函数名: STRSTR ........................................................... 34 | BM 算法的改进的算法 SUNDAY ALGORITHM ................ 34 | 最短公共祖先(两个长字符串) ............................... 34 | 最短公共祖先(多个短字符串) ............................... 34 Geometry 计算几何 ................................ 35 | GRAHAM 求凸包 O(N * LOGN) .................................... 35 | 判断线段相交 ............................................................... 35 | 求多边形重心 ............................................................... 35 | 三角形几个重要的点 ................................................... 35 | 平面最近点对 O(N * LOGN) ...................................... 35 | LIUCTIC 的计算几何库 ................................................ 36 | 求平面上两点之间的距离 ........................................... 36 | (P1-P0)*(P2-P0)的叉积 ....................................... 36 | 确定两条线段是否相交 ............................................... 36 | 判断点 P 是否在线段 L 上 ............................................ 36 | 判断两个点是否相等 ................................................... 36 | 线段相交判断函数 ....................................................... 36 | 判断点 Q 是否在多边形内 .......................................... 37 | 计算多边形的面积 ....................................................... 37 | 解二次方程 AX^2+BX+C=0 ........................................ 37 | 计算直线的一般式 AX+BY+C=0 ................................. 37 | 点到直线距离 ............................................................... 37 | 直线与圆的交点,已知直线与圆相交 ....................... 37 | 点是否在射线的正向 ................................................... 37 | 射线与圆的第一个交点 ............................................... 37 | 求点 P1 关于直线 LN 的对称点 P2 .............................. 37 | 两直线夹角(弧度) ................................................... 37 ACM/ICPC 竞赛之STL ............................... 38 ACM/ICPC 竞赛之 STL 简介 .......................................... 38 ACM/ICPC 竞赛之 STL--PAIR ...................................... 38 ACM/ICPC 竞赛之 STL--VECTOR .................................. 39 ACM/ICPC 竞赛之 STL--ITERATOR 简介 ...................... 39 ACM/ICPC 竞赛之 STL--STRING .................................. 40 ACM/ICPC 竞赛之 STL--STACK/QUEUE ........................ 40 ACM/ICPC 竞赛之 STL--MAP ........................................ 41 ACM/ICPC 竞赛之 STL--ALGORITHM ............................. 42 STL IN ACM ..................................................................... 43 头文件 ............................................................................... 44 线段树 ........................................... 44 求矩形并的面积(线段树+离散化+扫描线) ............... 44 求矩形并的周长(线段树+离散化+扫描线) ............... 45

2011-08-11

《人月神话》 软件人员必读

《人月神话》提出了2条著名的法则: 1、人月神话:向一个已经延后的 《人月神话》项目中投入更多的人力资源只会让它更延后。 2、没有银弹:没有一种策略,技术或者技巧可以极大地提高程序员的生产力。

2011-06-01

空空如也

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

TA关注的人

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