随笔分类 - 算法学习
摘要:一、容斥定理基本描述在计数时,必须不重不漏。为了使得重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后把计数时重复计算的数目排斥出去,使得计算的结果既无重复也无遗漏,这种计数的方法称为容斥原理。...
阅读全文
摘要:一、巴什博奕(Bash Game)基本描述:只有一堆n个石子,两个人轮流从这堆石子中取石子,规定每次至少取一个,最多取m个,最后取完的人获胜。分析:当n <= m的时候,显然先手获胜,因为一次就能取完。当n = m+1 的时候,由于先手最多取走m个,无论其取走多少个,剩下的后手均可以...
阅读全文
摘要:对于动态规划,之前学习过了,但是总感觉理解不深刻。今天正好讲道动态规划算法,感觉有了一些新的认识和看法,打算详细的写下来,一是帮助自己理清,二是希望给刚刚接触的ACMer一个简明的理解思路吧。大话算法之动态规划——初探一、引例: 数塔问题之所以好多地方均以这个东西作为例子,我想能是因...
阅读全文
摘要:并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?) 来看一个实例,杭电1232畅通工程 首先在地图上给你若干个城镇,这些城镇都可以看作...
阅读全文
摘要:拓扑排序一、基本概念在一个有向无环图(Directed Acyclic Graph, DAG)中,规定 表示一条由u指向v的的有向边。要求对所有的节点排序,使得每一条有向边 中u都排在v的前面。 换个形象点的解释,我们在学习一门课程之前,应该需要一定的预备知识,比如在学习B课程之...
阅读全文
摘要:Map概述Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红...
阅读全文