
HDU
kdzc
中科院程序员一枚,研究僧在读中,主要方向压缩感知,图像处理,和大家一起学习进步^_^
展开
-
HDU DP - 1024 Max Sum Plus Plus
给出n个数,求其m个子段和的最大值。 原始状态转移方程: dp[i][j]=max(dp[i][j-1]+a[j],dp[i-1][k]+a[j]) (i-1 第1种情况是直接将第j个元素加在第i个子段之后,第2种情况是将第j个元素单独作为一个子段,那么前面必须是i-1个子段。 但是因为二维数组太大,而且三层循环时间过长,所以我们要进行优化,优化方法借鉴原创 2015-05-29 14:19:38 · 611 阅读 · 0 评论 -
HDU 大数乘 - 1042 N!
这道题目训练的就是大数乘法。下面是从一位博主那摘抄而来。 其核心思想就是把计算结果每一位上的数字保存到一个数组成员中,例如: 把124保存至数组中,保存结果应该是result[0] =4;result[1] =2;result[2] =1 把整个数组看成一个数字,这个数字和一个数相乘的时候,需要每一位都和这个乘数进行相乘运算还需要把前一位的进位加上。 写法如下:int 结果 =原创 2015-05-22 15:06:44 · 729 阅读 · 0 评论 -
HDU 并查集 - 3172 Virtual Friends
并查集题目,并的意思就是将两个不同类别的集合合并到一起,类似于两棵树合并;查的意思就是找到这个点所属集合的根节点。基本上并查集题目都是在大体架构上面加一些东西即可。并查集代码模板在这里点击打开链接。 这一题为了找到输入的两个人组成的社交网络人数,也就是统计这两个人与前面的人组成的集合中有多少元素。我们加一个辅助数组sum,当两个集合并时,我们将父节点对应下标的sum值加上子节点的sum值,表达这原创 2015-05-22 19:05:21 · 557 阅读 · 0 评论 -
HDU 大数加 - 1250 Hat's Fibonacci
一个新的斐波那契数列,F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n - 1) + F(n-2) + F(n-3) + F(n-4) 没什么可说的,大数加上,注意为了节省空间,我们使用滚动数组,一开始我还以为能一开始算出所有可能来节省时间,后来发现空间真是hold不住啊。。 #include #include #define MAX 20原创 2015-05-22 20:17:42 · 503 阅读 · 0 评论 -
HDU 丑数 - 1058 Humble Numbers
这一题是讲了一个名叫丑数的概念(为啥叫丑数,,)。 概念:因子中仅仅包含2、3、5,7的数,称为丑数。但其实我百度网上时,发现正常的丑数应该是因子中仅仅包含2、3、5,不过基本都一样。 我们可以通过不断mod2,3,5,7,直到无法在摸,验证此时是否为1来判断该数是否为丑数,但是这样的方法太过浪费时间,所以介绍一种新的方法,下面方法摘自这里点击打开链接。 根据丑数的定义,丑数应该是另原创 2015-06-10 20:06:12 · 1441 阅读 · 0 评论