hdu
JunC74
这个作者很懒,什么都没留下…
展开
-
hdu 1024 Max Sum Plus Plus
题意: 给n个数值, 求其中m段连续的子串之和最大。 状态转移方程(复杂度:n * n * m): f [ i ][ j ] = max (f [ i - 1 ][ j ] , max (f [ k ][ j - 1 ])); (k = j - 1,…… i - 2,i - 1);(状态转移:O(n))f [ i ][ j ] :前 i 个数值划分出 j 段子串(第 i 个数值一定在子串原创 2012-02-21 20:15:15 · 1398 阅读 · 0 评论 -
Find Metal Mineral
/* 题目类型: 树形DP 题意: 是求k个机器人从S 点开始历遍所有节点的最小代价。 原理: 1)对于每一个节点, 分别求出当前节点有x(x = 0)个机器人进行历遍时的最小代价(这x个机器人会留在该分支)。 2)当有机器人留在这个节点下的分支时,则不会有让任何机器人从该节点出来。因为出来机器人的所历遍的节点或分支完全可以由留在这个节点的机器人来历遍,而且所花费原创 2012-04-09 13:06:20 · 1083 阅读 · 0 评论 -
hdu Increasing Sequences
/* Problem: hdu Increasing Sequences (1424) Lang: C++ 题意: 给一串数字串给你分割,求分割后(按照递增规律来分割, 即前一个数比后一个数小), 求最后一个数的最小值是多少。 思路: num[i] 代表的是第i个字符为结尾的串所能求的的最小尾数的第一个数字所在的位置。原创 2012-04-12 15:08:41 · 829 阅读 · 0 评论 -
hdu 1131 Count the Trees
/* Problem: hdu 1131 Count the Trees Lang:C++ 题意: 求n个不同节点能组成多少个不同的二叉树。 原理: 亚特兰数,不过需要全排列。化简后可去掉除法。 */ #include #include #include #include using namespace std; const int SYS = 10000; //a *= b;原创 2012-04-13 13:19:43 · 804 阅读 · 0 评论