![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 80
红衣落桂花
这个作者很懒,什么都没留下…
展开
-
DP算法的经典题目
1. 石子合并 在一个圆形操场的四周摆放着N堆石子(N(1)选择一种合并石子的方案,使得做N-1次合并,得分的总和最小; (2) 如果各堆石子构成一环形,选择一种合并石子的方案, 使得做N-1次合并,得分的总和最小; 输入数据: 第一行为石子堆数N; 第二行为每堆的石子数,每两个数之间用一个空格分原创 2012-11-27 16:27:20 · 3760 阅读 · 0 评论 -
动态规划(DP)算法
动态规划一,动态规划三要素:阶段,状态,决策。如果把动态规划的求解过程看成一个工厂的生产线,阶段就是生产某个商品的不同的环节,状态就是工件当前的形态,决策就是对工件的操作。显然不同阶段是对产品的一个前面各个状态的小结,有一个个的小结构成了最终的整个生产线。每个状态间又有关联(下一个状态是由上一个状态做了某个决策后产生的)。下面举个例子:要生产一批雪糕,在这个过程中要分好多环节:购买原创 2012-11-27 16:23:27 · 581 阅读 · 0 评论 -
快速排序(递归,非递归),希尔排序,冒泡排序的比较
数据量:100w整型数组代码如下:#include #include #include #include #include #include using namespace std;template int partition(vector &vec, int low, int high){ Comparable pivot = vec[low]; while(lo原创 2012-11-28 11:46:24 · 442 阅读 · 0 评论 -
Hash表算法
Hash表建立了key与value的关系,所以我们可以通过hash函数对value计算出key,从而可以O(1)的时间内,查找到value。Hash表主要的问题在于发生了碰撞,即两个value的key相同怎么办?1、避免碰撞我们可以构造好的hash函数,使key值均匀分布,这样可以使碰撞的概率很小;构造多个hash函数;构造多个表,每个表用不同的hash函数;计算出value的原创 2013-01-24 20:19:47 · 383 阅读 · 0 评论 -
求1-n中所有数的最大公约数之和
Problem DescriptionGiven the value of N, you will have to find the value of G. The meaning of G is given in the following codeG=0; for(i=1;i for(j=i+1;j G+=gcd(i,j)转载 2013-02-18 17:56:04 · 1021 阅读 · 0 评论 -
利用欧拉函数解决最大公约数相关问题
一、欧拉函数与最大公约数欧拉函数phi(i)表示在[1~i)中,与i互质的数的个数。如要求1-n中所有数与n的最大公约数的和。设count(x)为1-n中,与n的最大公约数为x的个数,即gcb(i,n)=x,i的个数。(gcb(x,y)为x和y的最大公约数)这个count(x)怎么求呢?有gcb(i,n)=x,则gcb(i/x,n/x)=1,(如果为k,k!=1,则gcb(i,原创 2013-07-11 12:24:53 · 1775 阅读 · 0 评论