
-------算法分析-------
文章平均质量分 81
sun897949163
这个作者很懒,什么都没留下…
展开
-
理论: 数论(1):整除、gcd以及lcm
整除整除的性质设a, b是两个整数, 并且b ≠ 0. 如果存在整数c, 使得 a = b * c , 则称a被b整除, 或者b整除a,记作b |a(这里是a 被 b整除, a >= b) 此时又称a是b的倍数, b是a的因子。如果b不整除a, 记作 ·整除基本定义定义1.1:如果n被2除的余数为 0, 则对于某个整数k, 有n = 2k, 我们称n为偶数;而如果n被2除的余数为1, 我们则对原创 2016-07-12 20:54:41 · 3066 阅读 · 1 评论 -
搜索(4):A*
启发式搜索算法(A算法)先来回忆BFS算法在BFS中, 每当我们找到一个节点, 我们就将这个节点压入队列中, 然后每次开始搜索是我们就从队列中拿出第一个元素, 继续开始上述的操作。但是这里有一个问题, 虽然这里从对头拿元素这个操作可以满足当前最短这个条件但在队列中有多个长度相同的当前最短的边的时候,队列只能按照压入的顺序弹出, 不能判断这几个当前最短点中的优劣性为此我们就引入了A*算法, 对每一步搜原创 2016-08-01 11:54:06 · 994 阅读 · 0 评论 -
搜索(3):重复性剪枝 (poj1011)
POJ 1011在民国某年,少林寺被军阀炮轰,这些棍子被炸成 N 节长度各异的小木棒战火过后,少林方丈想要用这些木棒拼回原来的棍子可他记不得原来到底有几根棍子了,只知道古人比较矮,且为了携带方便,棍子一定比较短他想知道这些棍子最短可能有多短分析· ·尝试 (枚举) 什么?枚举所有可能的棍子长度从最长的那根木棒的长度一直枚举到木棒长度总和的一半对每个假设的棍子长度,试试看能否拼齐若干根棍子· ·原创 2016-08-01 09:52:52 · 843 阅读 · 0 评论 -
搜索(2):估值型剪枝
总时间限制: 1000ms 内存限制: 65536kB 描述 “我是要成为海贼王的男人!”,路飞一边喊着这样的口号,一边和他的伙伴们一起踏上了伟大航路的艰险历程。路飞他们伟大航路行程的起点是罗格镇,终点是拉夫德鲁(那里藏匿着“唯一的大秘宝”——ONE PIECE)。而航程中间,则是各式各样的岛屿。 因为伟大航路上的气候十分异常,所以来往任意两个岛屿之间的时间差别很大,从A岛到B岛可能需要1天,原创 2016-08-01 09:18:10 · 545 阅读 · 0 评论 -
搜索(1):剪枝
POJ 1190要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱。当i < M时,要求Ri > Ri+1且Hi > Hi+1。 由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小。 令Q = Sπ 请编程对给出的N和M,找出蛋糕的制作方案(适当的Ri和Hi的值),使S原创 2016-08-01 09:05:17 · 689 阅读 · 0 评论 -
STL(3):map
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序转载 2016-08-01 08:28:00 · 488 阅读 · 0 评论 -
题解:整数划分问题(DP)
总时间限制: 200ms 内存限制: 65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。 正整数n 的这种表示称为正整数n 的划分。输入 标准的输入包含若干组测试数据。每组测试数据是一行输入数据,包括两个整数N 和 K。 (0 < N <= 50, 0 < K <= N)输出 对于每组测试数据,输出原创 2016-07-31 21:11:16 · 4106 阅读 · 0 评论 -
动态规划(5):状态压缩
总括有时,状态相当复杂,看上去需要很多空间,比如一个数组才能表示一个状态,那么就需要对状态进行某种编码,进行压缩表示。比如:状态和某个集合有关,集合里可以有一些元素,没有另一些元素,那么就可以用一个整数表示该集合,每个元素对应于一个bit,有该元素,则该bit就是1。例题:bailian: 海贼王之伟大航路描述 “我是要成为海贼王的男人!”,路飞一边喊着这样的口号,一边和他的伙伴们一起踏上了伟大航原创 2016-07-31 20:40:23 · 802 阅读 · 0 评论 -
动态规划(4):消除后效性
无后效性:这是DP中最重要的一点, 他要求每个子问题的决策不能对后面其他未解决的问题产影响, 如果产生就无法保证决策的最优性, 这就是无后效性。往往需要我们找到一个合适的状态。上述的问题还有另外一个描述方式, 对于后一个节点的判断不能以前面节点的路径为依据。例:POJ 1037 一个美妙的栅栏N 个木棒, 长度分别为1, 2, …, N.构成美妙的栅栏要求1.除了两端的木棒外,每一跟木棒,要么比它左原创 2016-07-31 20:17:51 · 4932 阅读 · 1 评论 -
动态规划(1):基本思路以及步骤
基本思想动态规划是针对一类求最优解的问题的算法, 其核心是将一个问题分解成为若干个子问题(这里对应下文的子问题使用条件), 部分类似于分治的思想(不懂得可以参考归并排序), 通过求每一次的最优决策, 来得到一个最优解。在这里最重要的就是子问题的思想。另一种理解方式数是DP的核心是加法原理(下文的人人为我形递归)和乘法原理(下文的我为人人形递归), 通过这两个原理, 在当状态的前有限多个状态中找到最优原创 2016-07-31 11:05:11 · 28722 阅读 · 6 评论 -
动态规划(2):动态规划的三种形式
例:数字三角形(POJ 1163)Language:DefaultThe TriangleTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 45053Accepted: 27208Description73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 show原创 2016-07-31 11:41:51 · 2609 阅读 · 0 评论 -
动态规划(3):熟练度练习(POJ 1458、最佳加法表达式、bailian2755、POJ3624、bailian1088)
最长公共子序列Language:DefaultCommon SubsequenceTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 47599Accepted: 19562DescriptionA subsequence of a given sequence is the given sequence with some elemen原创 2016-07-31 14:49:06 · 3163 阅读 · 1 评论 -
理论: 数论(4):素数举例
有多少个素数?在很久之前欧拉在定理中说“存在比任何给定的素数集合更多的素数”。 现在我们来证明这个结论:假设只有有限多个素数, 比如K个, 2,3,5,7,……,Pk。然后欧拉说:我们令 .设K个素数没有一个能整除M, 因为他们都能整除M-1, 于是必定有另一个素数整除M,或许M本身就是个素数, 这两种可能都与我们假设仅有2,3,5,7……,Pk,这K个素数相矛盾。欧几里得的证明提醒我们使用如下原创 2016-07-14 19:44:20 · 1593 阅读 · 0 评论 -
理论: 数论(3):素数基础
素数定义正整数1只有一个正整数因子, 任意其他的正整数至少有两个正整数因子, 因为它一定可以被1和他本身整除。只有两个正因子的整数称之为素数。素数的性质定义2.1: 素数是大于1的正整数, 并且除了1和他本身之外不崩被其他正整数整除, 大于1的非素数称之为合数素数具有以下的性质: (1).a>1是合数, 当且仅当a = bc, 其中 1 < b < a, 1 < c < a; (2).合数必有素原创 2016-07-13 10:52:59 · 2551 阅读 · 0 评论 -
题解: poj 1061 nefu 84(拓展欧几里得)
POJ1061Language:Default青蛙的约会Time Limit: 1000MSMemory Limit: 10000KTotal Submissions: 105002Accepted: 20595Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一原创 2016-07-13 08:12:39 · 6232 阅读 · 1 评论 -
????(1):???(???)
?????????,???????????????[a,b]?a,b??????????????????????(???1)????????????????[a,b],??????????[a,(a+b)/2],?????????[(a+b)/2+1,b](??????)???:1.????????????????2.???????1,??????3.???????????[a,b],?????原创 2016-08-02 10:49:24 · 686 阅读 · 0 评论