
挑战课后练习题
readlnh
这个作者很懒,什么都没留下…
展开
-
挑战2.3 记录结果再利用的“动态规划”
基础的动态规划算法poj3176 Cow Bowing 没什么好说的,就是数塔问题,从最后一层往上扫,f[i][j] = max(f[i + 1][j], f[i + 1][j + 1]) + a[i][j],当前状态只取决于底下两个的状态poj2229 Sumset 求一个数分解成2的幂次之和有多少种情况。 这个问题还是需要想一想的,首先,我们应该意识到了,假如一个数是奇数,那么拆原创 2016-07-24 11:19:13 · 363 阅读 · 0 评论 -
poj3253Fence Repair(贪心,哈夫曼编码)
题意有一块木板,要把它切成长度指定的n块 ,每次切断时需要付出这块木板长度的代价,问最少要付出多少代价思路这题切割可以用二叉树表示出来,这样很显然能看出切的次数越多,在树中的深度越深。切的次数越多,显然被计数的(即付出代价)次数越多,那么显然越深的地方木板长度应该越小,以此来构建二叉树。即每次取出最小的两个作为叶子节点。#include <cstdio>#include <iostream>#i原创 2016-08-18 10:14:42 · 469 阅读 · 0 评论