题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1717
题意简述:如图,给定n块骨牌,上下两端有点数,点数大小[0,6],求翻转m次后使得骨牌上下总差值的绝对值最小,在此基础上求得最小的m值。
解题思路:背包思想,设dp[i]表示总差值到达i时的翻转的最小次数,每张牌每次翻转都会使差值变化原来差值的两倍,所以我们可以这样设计转移方程:dp[i]=min(dp[i],dp[i-value[j]]);注意在实现过程中注意dp的代换,和保证数组下标>=0。
以下就是我的代码:
针对一个骨牌翻转问题,采用背包思想解决求最小翻转次数的问题。通过动态规划算法,设计合理的状态转移方程,实现高效求解。
666

被折叠的 条评论
为什么被折叠?



