Algorithm(艺术)
文章平均质量分 79
zhengxu001
这个作者很懒,什么都没留下…
展开
-
链栈的实际应用(总结)
1 表达式求值在计算机中进行算术表达式的计算是通过栈来实现的。(1) 算术表达式的三种表示:中缀:——双目运算符出现在两个操作数中间, 例:a+b前缀:——双目运算符出现在两个操作数前面, 例:+ab后缀:——双目运算符出现在两个操作数后面, 例:ab+(2) 三种表达式之间的转换: 按运算的优先次序全部加上括号,逐个括号写成另一种表示式 (括号—原创 2012-09-26 21:17:59 · 1373 阅读 · 0 评论 -
博弈论入门小结
博弈论:是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论。博弈论是研究互动决策的理论。博弈可以分析自己与对手的利弊关系,从而确立自己在博弈中的优势,因此有不少博弈理论,可以帮助对弈者分析局势,从而采取相应策略,最终达到取胜的目的。博弈论分类:(摘自百度百科)(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定转载 2012-10-06 12:40:35 · 624 阅读 · 0 评论 -
某人的ACM经历 (真的很好 - 适合我的水平看)
首先,我想说的就是,我是一个很普通的ACMer,高中没有参加过任何计算机和数学竞赛的经历,也没有ben那样过人的天资,努力至今也未能取得什么成绩,我之所以写下这篇文章,只是希望给刚进大学或者刚进ACM队的同学一点小小的帮助,希望你们可以少走一些弯路,更希望你们可以帮助华理取得我没能取得的辉煌。(1).起步阶段我是从大二开始接触ACM的,要说基础的话就是大一的C语言课程了,语言方面的基础转载 2012-10-06 18:01:36 · 10589 阅读 · 3 评论 -
位运算及其应用
位操作就是人和电脑处理方式不同的体现,有些人认为这个东西有些BT,但其实非常高效的程序大多都是用位操作优化,因为它十分底层,速度极快。其实位操作也有他自己独特的性质,只要我们能熟练得掌握,就可以更好得驾驭我们的程序,这也是我转此帖的目的。PS:不要把注意力集中在语言上,所有语言都是一样的,只是工具而已。什么是位运算? 程序中的所有数在计算机内存中都是以二进制的形式储存的。转载 2012-09-29 11:17:30 · 559 阅读 · 0 评论 -
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结
作者:July--结构之法算法之道blog之博主。时间:2010年10月-2012年9月 (一直在收录本blog最新updated文章)。出处:http://blog.csdn.net/v_JULY_v 。声明:版权所有,侵犯必究。 前言 开博已过20个月,回首这20个月,发现自己在本blog上着实花费了巨大的时间与精力,写的东西可能也够几本书的内容了。希望我转载 2012-09-25 19:28:07 · 3818 阅读 · 2 评论 -
算法的力量(转李开复)
算法的力量 2006年5月转载 2012-10-16 23:05:35 · 2572 阅读 · 0 评论 -
【专题】两种不同的母函数
母函数又叫生成函数,是很吊的一种函数,半年之前与之有过一次邂逅,现在再次相遇便把握机会总结一下,也希望自己能够更深入的了解他。下面大多数列子和题目都来自互联网! 在我介绍母函数之前,先推荐一篇我很喜欢的文章:http://www.wutianqi.com/?p=596。我就是看着这片文章弄懂的母函数。第一种母函数的应用:生成函数最绝妙的是,某些生成函数可以原创 2012-10-27 17:02:18 · 1395 阅读 · 0 评论 -
[专题]暴力之简单枚举
暴力之简单枚举优点:算法简单,容易编程实现,正确性易证明缺点:速度慢,时间复杂度高重点,对于题目的分析,寻找优化的方法。对于枚举法,应该要权衡枚举的时间代价和所得到的信息量的关系。例如(黑书思考题1.2.6)离散函数,给定一个离散函数,为集合{1,2.....n},取值为-2^32--2^32,找出函数图像上两个点,是的函数在这两点之间的点都在连线的下方,且转载 2012-10-22 23:01:19 · 732 阅读 · 0 评论 -
[置顶] 数据结构:堆
堆常用来实现优先队列,在这种队列中,待删除的元素为优先级最高(最低)的那个。在任何时候,任意优先元素都是可以插入到队列中去的,是计算机科学中一类特殊的数据结构的统称一、堆的定义最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树。小顶堆是一棵完全完全二叉树,同时也是一棵最小树。注意:堆中任一子树转载 2012-10-22 23:53:13 · 676 阅读 · 0 评论 -
博弈类题目小结(HDU,POJ,ZOJ)
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove首先当然要献上一些非常好的学习资料:基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530经典翻硬币游戏小结:http://blog.csd转载 2012-11-05 21:35:29 · 734 阅读 · 0 评论 -
【专题】树状数组(完整版)
树状数组是对一个数组改变某个元素和求和比较实用的数据结构。两中操作都是O(logn)。 传统数组(共n个元素)的元素修改和连续元素求和的复杂度分别为O(1)和O(n)。树状数组通过将线性结构转换成伪树状结构(线性结构只能逐个扫描元素,而树状结构可以实现跳跃式扫描),使得修改和求和复杂度均为O(lgn),大大提高了整体效率。给定序列(数列)A,我们设一个数组C满足C[i]原创 2012-09-28 19:36:24 · 7713 阅读 · 1 评论 -
【专题】三分法和牛顿迭代法总结
下面总结两种迭代方法:三分法和牛顿迭代1.三分法二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。但当函数是凸性函数时,二分法就无法适用,这时三分法就可以大显身手。 如下凸函数:类似二分的定义left和rightmid1 = (left + right) / 2mid2 = (mid2 + right) / 2如果mid1靠近极值点, left原创 2012-10-02 16:27:09 · 5235 阅读 · 2 评论 -
hdoj 1237 简单计算器(计算器应用)
转自 Bupt Acmer任意表达式(expression)都是由操作数(operand)操作符(operator)和界限符(delimiter)组成。我们通常习惯使用中缀表达式(infix expression),但中缀表达式离不开括号(bracket)。若使用前缀表达式(prefixexpression)或后缀表达式(postfix expression)则不需要括号。利用栈,可以将中原创 2012-09-26 18:54:50 · 2151 阅读 · 0 评论 -
在ACM中Java关于大数的一些相关操作
转自 :http://blog.csdn.net/jiahui524/article/details/6671593BigInteger和BigDecimal可以说是acmer选择java的首要原因。函数:add, subtract, divide, mod, compareTo等,其中加减乘除模都要求是BigInteger(BigDecimal)和BigInteger(BigDe转载 2012-09-26 22:09:36 · 617 阅读 · 0 评论 -
正则表达式(更新中......)
还没来得及去写,有时间去补全......原创 2012-09-27 20:00:16 · 554 阅读 · 0 评论 -
HDU 2050折线分割平面(解析,直线,平行线,折线,三角形)
这篇文章全是转载总结,留给自己看的......(1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域。 析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点转载 2012-09-27 19:13:23 · 2066 阅读 · 0 评论 -
给想当程序员的大二学生的建议--转帖
背景:最近我在Groupon公司的一项新职务是为公司招募优秀的开发人员。我是Groupon开发团队的代言人,负责发布招聘信息、回答问题等。过去的一周,我对两个询问夏季实习工作的学生进行了回复。下面是我在回复他们的邮件中的感觉值得公开发表的一些建议:如果你在大二的时候就已经开始接触外面的公司,我认为你做的很对,你就应该这么早为你今后的职业生涯打基础。很多人都是等到毕业的前两个月(甚至转载 2012-09-27 19:41:35 · 1153 阅读 · 0 评论 -
你做过的最有效的提高你的编程水平的一件事情是什么--转帖
最近在stackexchange网站上看到了一个非常好的问答,有人问:你做过的最有效的提高你的编程水平的一件事情是什么?回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能 —— 阅读代码,编写程序,阅读书籍,听讲座,看视频,等等。我的问题是:你做过的最有效的提高你的编程水平的一件事情是什么?对于那些想提高水平的程序员,你的建议是什么?我希转载 2012-09-27 19:42:09 · 498 阅读 · 0 评论 -
转】HDU 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋);转载 2012-09-28 19:34:14 · 907 阅读 · 0 评论 -
【专题】线段树(完整版)
线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂转载 2012-09-28 19:35:07 · 1329 阅读 · 0 评论 -
图的邻接表储存及其遍历[数据结构学习]
好长时间没有写代码(感觉自己更弱了),今天晚上就把数据结构的链表和邻接表部分实现了(手都生了),第一次写邻接表,觉得还是邻接矩阵好很多,毕竟建表还是挺麻烦的.....顺便把bfs和dfs加了进去,刚学数据结构或者算法入门的可以看看,我是小菜,大神 求别喷...... 过两天再把几种排序和查找的时空分析和代码实现总结一下,顺便自己也能学到很多,快要考试了,ACM的步伐就放缓一下下...原创 2012-11-19 20:55:54 · 4887 阅读 · 1 评论