动归系列
文章平均质量分 70
CyXy6340
我是一只小小牛我却不吃青草我一直在ac因为我要吃肉
展开
-
动归_poj2479
连接:http://poj.org/problem?id=2479思路:在输入的同时,进行一次DP,计算出从左到右的最大值,并把它保存在数组dp的对应的下标元素中,这样之后,对于下标为i的元素,它其中保存的便是前面所 有元素可能的最大连续和。再从右到左进行一次DP,计算从右到左的最大连续和。假设此时已经算到下标为i的元素,那么将sum+dp[i-1]与ans进 行比较,将ans取较大者。最后当原创 2013-04-02 14:51:17 · 423 阅读 · 0 评论 -
poj1042
连接:http://poj.org/problem?id=1042思路:总体思想是贪心,先枚举John只在前1.2.3...n个池塘里钓鱼,然后用总时间减去路上的时间,剩下的时间就是在池塘钓鱼的时间,然后利用贪心思想,在总是在期望钓到鱼最多的池塘里钓即可(这个要好好思考一下,为什么减去路上的时间之后,John可以任意在各个池塘之间移动,不用再考虑在池塘间转移路上的时间)。 #inclu原创 2013-04-03 15:17:17 · 532 阅读 · 0 评论 -
poj2593
链接http://poj.org/problem?id=2593考察点:动态规划 思路:虽然题目给出了3000ms的时间,但考虑到数据量可以达到100000,如果用O(N^2)的算法的话,还是极有可能会超时的,于是决定采用这种O(N)时间效率的动规。在输入的同时,进行一次DP,计算出从左到右的最大值,并把它保存在数组dp的对应的下标元素中,这样之后,对于下标为i 的元素,它其中保存的便是前原创 2013-04-06 22:07:44 · 520 阅读 · 0 评论 -
poj1050
题目: 求最大子矩阵的和分析: 我的做法: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 我们可以按每一行计算从j开始到k结束的该段和,用dp[i][j][k] 表示第i行的元素从下标j开始到k结束的和,把每一行的都求出, 从而转化为求每一列的最大子序和,本例中, 先求dp[0原创 2013-04-06 22:12:38 · 428 阅读 · 0 评论 -
poj1260
大致题意:给出几类珍珠,以及它们的单价,要求用最少的钱就可以买到相同数量的,相同(或更高)质量的珍珠。【规定买任一类的珍珠n个(价格为p),都要支付(n+10)*p的钱,即额外支付10*p】 例如样例Input的第二个例子:31 101 11100 12需要买第一类1个,第二类1个,第三类100个按常规支付为 (1+1转载 2013-04-06 22:19:37 · 398 阅读 · 0 评论 -
poj1276
#includeusing namespace std;int main(int i,int j){ int N; //物品种数(面额种数) int cash; //背包容量(最大可取金额) while(cin>>cash>>N) { /*Input*/ int* n=new int[N+1]; //n[i]第i种物品的个数(第i种面额的数量) int* w翻译 2013-04-07 20:42:56 · 498 阅读 · 0 评论 -
hdoj1257
这道题用到逆序法,看着是求最长非增序列,其实是企业最长非减序列。连接:http://acm.hdu.edu.cn/showproblem.php?pid=1257&PHPSESSID=a4cesjtlgc8qnqr91kendvslv2#includeint main(){ int n,i,j,num,h[1000],dp[1000]; while(scanf("%d",&翻译 2013-04-10 14:59:31 · 564 阅读 · 0 评论