自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

魔神翼

ACM库

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

转载 Google在MIT发布的难题

近日,Google Jobs在MIT校园内到处张贴着一份密码,企图在MIT校园里的一群变态中找出几个最变态的破密大牛。密码上面附文说,如果你能破解这份密码,你在Google会很有前途。据说,这份密码包含了一个Google Jobs的电话号码,解开密码的人可以通过此电话留下自己的个人信息。目前,还没有人破解出这段密码来。     想要自己试一试的同学可以参看下面的高清无码版:

2009-09-23 22:11:00 793

原创 由于甲流感c++考试取消了!

只有等明年4月再考试了

2009-09-18 13:07:00 740

转载 李开复:算法的力量

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,

2009-09-16 20:34:00 545

转载 为什么C++?

问题为什么用C++呢? 在你皱着眉头离开之前,试着回答这个简单的问题。效率,是么?人人都知道这个。但情况是,当一个人开始讨论编程语言或与其相关的话题时,他必须要非常明确而有针对性。为什么呢?我来问你另一个问题:如果效率是人们使用C++的唯一理由,那么为啥不直接用C呢?C被认为比C++效率更高(嗯嗯,我知道C没有比C++的效率高多少,所以这里别误解我的意思,因为即使它们二者效率相同,刚才的问题依

2009-09-16 20:25:00 721

转载 字符串匹配自动机

首先(不严谨地)定义自动机:自动机就是一堆状态的组合,给某个状态的自动机一个输入,它会按照自己的转移规则变到一个新的状态。事实上,可以把状态理解成顶点,把状态的转移理解成上面标着符号的边,在某个状态得到了某个符号的输入时,就转移到那条边指向的状态去。 先介绍单串匹配的自动机。对于M个字符的串S[1..M],一个用这个串进行模式匹配的自动机需要M+1个状态。设状态i输入ch时的转移为auto[i][

2009-09-16 20:22:00 1114

转载 求最大权二分匹配的KM算法

最大权二分匹配问题就是给二分图的每条边一个权值,选择若干不相交的边,得到的总权值最大。解决这个问题可以用KM算法。理解KM算法需要首先理解“可行顶标”的概念。可行顶标是指关于二分图两边的每个点的一个值lx[i]或ly[j],保证对于每条边w[i][j]都有lx[i]+ly[j]-w[i][j]>=0。如果所有满足lx[i]+ly[j]==w[i][j]的边组成的导出子图中存在一个完美匹配,那么

2009-09-16 20:20:00 985

转载 最小树形图

最小树形图就是给定一个有向图,求以某个给定顶点为根的有向生成树(也就是说沿着这N-1条有向边可以从根走到任意点),使权和最小。解决这个问题有一个O(VE)的算法,是这样的:对于除根外的每个顶点,选择一条权最小的入边。如果选出来的V-1条边不构成环,则可以证明这些边就是满足要求的答案。如果存在环,则将环中的边收缩成一个顶点。设x是环中的点,y不是环中的点,v为新的顶点,w0为上一步中x选择的

2009-09-16 20:20:00 761

转载 求最大流的Relabel-to-Front算法

除了用各种方法在剩余网络中不断找增广路(augmenting)的Ford-Fulkerson系的算法外,还有一种求最大流的算法被称为压入与重标记(Push-Relabel)算法。它的基本操作有:压入,作用于一条边,将边的始点的预流尽可能多的压向终点;重标记,作用于一个点,将它的高度(也就是label)设为所有邻接点的高度的最小值加一。Push-Relabel系的算法普遍要比Ford-Fulke

2009-09-16 20:19:00 1853

转载 求最大流的使用距离标号的最短增广路算法

求最大流有一种经典的算法,就是每次找增广路时用BFS找,保证找到的增广路是弧数最少的,也就是所谓的Edmonds-Karp算法。可以证明的是在使用最短路增广时增广过程不超过V*E次,每次BFS的时间都是O(E),所以Edmonds-Karp的时间复杂度就是O(V*E^2)。如果能让每次寻找增广路时的时间复杂度降下来,那么就能提高算法效率了,使用距离标号的最短增广路算法就是这样的。所谓距离标

2009-09-16 20:16:00 1931

转载 平衡二叉查找树

二叉查找树是一种非常有用的数据结构。经过一定扩充,它可以支持的操作有:Insert(插入)、Find(查找)、Remove(删除)、GetMax(取最大)、GetMin(取最小)、Prev(取前驱)、Next(取后继)、Rank(取某元素的序号)、Select(按照序号取该元素)。如果数据是随机的话,以上操作可以保证在O(logn)的期望时间内完成。但是比赛中显然出题者会给出一些刁钻的数据让最

2009-09-16 20:14:00 863

转载 树状数组

树状数组是一个查询和修改复杂度都为log(n)的数据结构,假设数组a[1..n],  那么查询a[1]+...+a[n]的时间是log级别的,而且是一个在线的数据结构,  支持随时修改某个元素的值,复杂度也为log级别。  来观察这个图:   令这棵树的结点编号为C1,C2...Cn。令每个结点的值为这棵树的值的总和,那么容易发现:  C1 = A1  C2

2009-09-16 20:13:00 790

转载 收缩强连通分量

收缩有向图中的强连通分量大约是图论的线性算法中最具技巧性一种了。我们的首要目的是对于每个顶点设定一个Belong值,也就是它从属于哪个顶点所代表的强连通分量,至于重新建立图的边,不过是将所有边扫描一遍看是否在新图中出现而已,比较容易。下面是利用一遍DFS求强连通分量的方法:对于每个顶点,设立Num、Low、Used、Alive四个属性,一个Stack保存当前正在被遍历的顶点;每访问一个顶点

2009-09-16 20:12:00 634

转载 并查集

什么是并查集?  并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 并查集的主要操作:  (1)查找:查找元素所在的集合即根节点  (2)合并:将两个元素所在的集合合并为一个集合  合并两个不相交集合判断两个元素是否属于同一集合  亲戚(Relations)  思路点拨  一 问题实质 

2009-09-16 20:11:00 610

转载 LCA问题

最近公共祖先(Least Common Ancestors)  对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上深度最小的点。  这里给出一个LCA的例子:  对于T=  V={1,2,3,4,5}  E={(1,2),(1

2009-09-16 20:10:00 716

转载 RMQ问题

RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j  主要方法及复杂度如下  1.朴素(即搜索) O(n)-O(n) online  2.线段树 O(n)-O(qlogn) online  3.ST(实质是动态规划) O(nlogn)-O(1) offline  ST算法(Sparse

2009-09-16 20:09:00 826

转载 虚二叉树

虚二叉树是处理统计问题的一种利器,它的最大优势就是编程无比简单。在需要统计的数据严格在某一范围内时,使用虚二叉树可以大大简化编程,但这也是虚二叉树的弱点,就是必须知道事先的数据范围,而且这个范围不能太大,必须能开一个相当的数组。虚二叉树一般的应用方法在每个节点处保存其左子树加上自身的节点数。在插入时,采用非常类似二分查找的实现方法,若目标节点在当前节点的左子树或自身(x=m),则++tot

2009-09-16 20:08:00 1467

转载 Hungary 算法

Hungary 算法(音译为“匈牙利算法”)是用来解决二分图匹配问题的利器。它的基本思想是通过DFS在二分图中找“交错轨”。但事实上,我认为掌握这个算法甚至根本不需要理解“交错轨”这个概念,它似乎和“决策树”“隐式图”类似,只是为了理解算法的本质而抽象出来的一种东西,在代码中不会出现,也不影响对代码的浅层理解和记忆。算法的核心是bool find(int v)函数,它的作用是:寻找顶点v可

2009-09-16 20:08:00 1185 1

转载 自顶向下伸展树

Splay Tree 是信息学竞赛中应用很广泛的一种平衡树。Splay在应用中的一个缺点是树的层次没有保证,比如说若顺序插入所有数据,树就变成了一条链。虽然说这样还是不影响均摊复杂度,但由于一般的实现的Insert、Splay等操作都要用到递归,故在特别设计的数据中可能会遇到递归栈溢出等不希望看到的现象。自顶向下伸展树可以解决这个问题,在它的实现中可以做到不存在任何递归。现简析其思路:

2009-09-16 20:07:00 1424

转载 最小后缀算法

问题:给定一个字符串s[1...n],求它的所有后缀中最小的一个。(本文中字符串之“大”“小”均对字典序而言。)算法:定义v[1..n],其中v[i]=k表示s[i..i+k-1]在s的所有长度为k的字串中最小。我们求出每个v[i]最大的取值,再找到所有的v[i]中最大的一个,s[i..n]就是问题的答案。基本思想是这样的(先不设计实现时的数据结构):先将所有的1..n都保存在

2009-09-16 20:05:00 1708 2

转载 动态规划与排列组合

动态规划与排列组合By 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba)TopLanguage(http://groups.google.com/group/pongba) 像所有的新手一样,对一种算法思想的理解需要经历从肤浅(流于表面形式)到逐渐触摸到本质的过程。为什么说"逐渐"触摸到本质,是因为很多时候你并不确定一个解释是不是最

2009-09-16 19:59:00 822

转载 编程的首要原则(s)是什么?

半年前,JoelOnSoftware和CodingHorror合搞的stackoverflow.com刚上线不久,我兴冲冲地跑过去扔了一个问题:你们认为编程的首要原则是什么? 作为我的学习原则的一个实践: 8. 学习一项知识,必须问自己三个重要问题:1. 它的本质是什么。2. 它的第一原则是什么。3. 它的知识结构是怎样的。5个月过去了,这个问题到现在还有人回复,我得到了一

2009-09-16 19:56:00 512

原创 知道16x^2-16|x|y+17y^2=255代表什么吗?

知道16x^2-16|x|y+17y^2=255代表什么吗?http://www.wolframalpha.com/input/?i=16x%5E2-16%7Cx%7Cy%2B17y%5E2%3D255 

2009-09-15 21:22:00 907

原创 本周全力备战C++二级考试

/*本周全力备战C++二级考试*/#include#includeusing namespace std;int main(){int j,k;char c=L;cout<<"本周全力备战C++二级考试"<<endl;cout.fill(*);cout<<setw(23)<<""<<endl;//cout<<endl;for(j=0;j<=11;

2009-09-14 12:59:00 724

转载 常用算法设计方法

要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,其中程序的数据结构和变量用来描述问题的对象,程序结构、函数和语句用来描述问题的算法。算法数据结构是程序的两个重要方面。      算法是问题求解过程的精确描述,一个算法由有限条可完全机械地执行的、有确定结果的指令组成。指令正确地描述了要完成的任

2009-09-13 18:27:00 755

转载 ACM基本算法分类、推荐学习资料和配套poj习题

 一.动态规划参考资料:刘汝佳《算法艺术与信息学竞赛》《算法导论》推荐题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1141 简单http://acm.pku.edu.cn/JudgeOnline/problem?id=2288 中等,经典TSP问题http://acm.pku.edu

2009-09-11 13:39:00 1685 1

转载 有趣的C语言问题 测试你对C语言的熟悉程度

下面这个程序输出什么?enum {false,true};int main(){        int i=1;        do        {                printf("%d/n",i);                i++;                if(i                         continue;        }while(fal

2009-09-10 13:15:00 847 1

转载 漫话二分

  二分思想真的是无所不在,即使在中文系的专业课中我们也能见到这个词。在语言学概论中我们提到,一个音位可以由一组区别特征确定下来,这些区别特征总是以只具有“是/否”、“有/无”等两种对立属性的“二元偶分组”形式存在,因为这样可以最方便最快捷地确定出一个元素。这有点像猜数字一样,我想一个数字后让你来猜,我告诉你你的猜测是大了还是小了。只是在这里,回馈的信息不再是大小,而是“辅音/元音”、“口音/鼻音

2009-09-07 19:22:00 973

转载 计算阶乘的另一些有趣的算法

  一个正整数n的阶乘就是前n个正整数的乘积,我们通常需要n-1次乘法操作来算出精确的值。不像等差数列求和、a的n次幂之类的东西,目前求阶乘还没有什么巨牛无比的高效算法,我们所能做的仅仅是做一些小的优化。更少的乘法运算次数?    在高精度运算中,乘法计算的速度远远慢于加减法,因此我们有必要减少乘法运算的次数。下面我将做一个非常简单的变换,使得计算阶乘只需要n/2次乘法。继续看下去之前,你能自己想

2009-09-07 18:27:00 948

转载 KMP算法详解

个人觉得这篇文章是网上的介绍有关KMP算法更让人容易理解的文章了,确实说得很“详细”,耐心地把它看完肯定会有所收获的~~,另外有关模式函数值next[i]确实有很多版本啊,在另外一些面向对象的算法描述书中也有失效函数 f(j)的说法,其实是一个意思,即next[j]=f(j-1)+1,不过还是next[j]这种表示法好理解啊:                                

2009-09-07 18:24:00 1041

转载 KMP算法与一个经典概率问题

     考虑一个事件,它有两种概率均等的结果。比如掷硬币,出现正面和反面的机会是相等的。现在我们希望知道,如果我不断抛掷硬币,需要多长时间才能得到一个特定的序列。序列一:反面、正面、反面序列二:反面、正面、正面    首先,我反复抛掷硬币,直到最近的三次抛掷结果形成序列一,然后我记下这次我抛掷了多少次才得到了我要的序列。重复执行这个过程,我可以算出得到序列一平均需要的抛掷次数。同样地,反复抛

2009-09-07 18:23:00 602

转载 十个利用矩阵乘法解决的经典题目

 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符。在数学中,一个矩阵说穿了就是一个二维数组。一个n行m列的矩阵可以乘以一个m行p列的矩阵,得到的结果是一个n行p列的矩阵,其中的第i行第j列位置上的数等于前一个矩阵第i行上的m个数与后一个矩阵第j列上的m个数对应相乘后所有m个乘积的和。比如,下面的算式表示一个2行2列的矩阵乘以2行3列的矩阵,其结果是一个2行3列的矩阵。其中,结果的那个4等于2

2009-09-07 18:08:00 1005

转载 十大另类程序语言

10. LOLCODE语言 http://lolcode.com/    国外流行一种lolcat图片,经常出现在论坛的头像和签名图里。lolcat图片里有一只很乖的小动物(通常是小猫),旁边写几句很可爱的话(比如故意的语法错误、拼写错误、近似发音或者网络缩略语)。很多web 2.0的宕机页面就是一张lolcat图片。LOLCODE就是用这种可爱的猫猫语言来写程序。LOLCODE的代码通俗易懂

2009-09-07 15:10:00 2388

OJ动态规划DP题目列表

OJ动态规划DP题目列表 POJ SOJ HDU 动态规划题目

2019-01-06

Bootstrap开发指南英语文字版

Bootstrap开发指南英语文字版 详细描述了Bootstrap各个组件使用方法及开发过程。

2013-06-28

Vim基本操作思维导图

有图形的方式详细描述了VIM的几种模式之间的相互转换,已经各种模式下的快捷键。

2013-06-28

acquia-drupal-win-7.14.14开发环境

Drupal 原作者 Dries 开的公司 Acquia。 Acquia Drupal 是改良的企业版 Drupal, 部份不是 GPL 开源。 Acquia提供了Drupal的快速开发环境,运行速度比WAMPP快多了。 Acquia Drupal有商业授权,可以替换为Drupal官方版本。

2012-09-12

acquia-drupal

acquia-drupal-7.14.14.5808 Drupal 原作者 Dries 开的公司 Acquia Acquia Drupal 是改良的企业版 Drupal, 部份不是 GPL 开源 Acquia提供了Drupal的快速开发环境,比WAMPP快多了。

2012-09-12

GDB官方文档

Debugging with gdb Tenth Edition, for gdb version 7.5.50.20120806 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。

2012-09-12

百度之星趣味赛——AK咆哮体

百度之星趣味赛——AK咆哮体 娱乐而已.....

2011-05-26

四川大学ACM2010

四川大学ACM2010暑期培训资料 SCU ACM2010

2010-11-11

动态规划DP结题报告

动态规划DP题解 POJ HDU 动态规划解题报告

2010-08-10

坦克大战回放播放器地图编辑器上手指南

百度之星2010坦克大战 回放播放器 地图编辑器 上手指南

2010-05-20

Astar2010坦克大战详细规则

Astar2010坦克大战详细规则 百度之星2010

2010-05-20

搜索入门之BFS深度优先搜索.ppt

搜索入门之BFS深度优先搜索.ppt 搜索算法是利用计算机的高性能来有目的地穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。 搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。

2010-04-18

英语写作经典句子200.doc

英语写作经典句子200.doc 下列句子主要摘自四、六级和研究生考试的阅读文章,请大家抽时间看看,一是检查自己理解句子的能力,二是在写作中模仿一些句式。

2010-04-18

CET-6作文应试技巧.rtf

CET-6作文应试技巧.rtf 英语四、六级作文应试技巧 • 一. 开头的方法 • 二. 结尾的方法 • 三. 作文中常用的一些句型和连词 • 四. 作文框架

2010-04-18

ACM实用函数选.doc

ACM,函数,c语言 函数名: atof 功 能: 把字符串转换成浮点数 用 法: double atof(const char *nptr); 程序例: #include #include int main(void) { float f; char *str = "12345.67"; f = atof(str); printf("string = %s float = %f\n", str, f); return 0; }

2010-04-18

ACM算法模板选doc

算法,模板,ACM 十进制转任意进制 阶乘非零 负二进制 高精度幂 n最长公共子串 Prim最小生成树 Kruskal最小生成树 Dijkstra最短路径 Bellman-Ford 卡塔兰数 组合序列 整点三角形 BFS最长路径 树状数组 背包 凸包面积 高精度除法取模 完全匹配KM 字符串KMP 凸包graham算法 输出最短路径 子集 拓扑排序 欧拉函数&素数筛选 Pick定理 高精度浮点数比较 日历 15数码是否有解 最大M子段和 MILLER_RABIN素性测试

2010-04-18

wdl文件格式阅读器下载

wdl文件格式阅读器下载 DynaDoc Reader使用来打开WDL便携格式文件文件。WDL文件是由“便携文件专家-DynaDoc”软件转换生成。其可以脱离原始文件的制作环境原貌再现。DynaDoc Reader提供了文件的全文检索、文字选取、文件播放等功能。

2009-03-14

VC++库函数中文版下载

VC++库函数中文版下载 exe电子书形式

2009-03-13

空空如也

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

TA关注的人

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