10651专题

【UVA】10651-Pebble Solitaire(直接递归或者记忆化)

不知道这个题UVA的数据是怎么的,用2个方法交了,第一次直接递归,第二次记忆化剪枝,时间竟然一样!? 直接郁闷了,简单的二进制表示状态和二进制运算。 14145176 10651 Pebble Solitaire Accepted C++ 0.009 2014-09-04 09:18:21 #include<cstdio>#include<algorithm>#inclu

uva 10651 Pebble Solitaire(动态规划:记忆化搜索)

题意是对于当前的一行,求出转换到不能再转换状态所需的最多步数 题目看起来没有思路,感觉找不到状态转移方程 看了别人的题解才知道这个题还是很容易的 但是需要想到stl map 我们用dp[s]表示把s转换为不能转换所需的最多步数 如果可以由s转换到t 则有:dp[s] = max(dp[s], dp[t]) 因为起始状态不好找,所以用记忆化搜索来写比较好 代码如下: #incl

UVa 10651 Pebble Solitaire (DPbitset)

10651 - Pebble Solitaire Time limit: 3.000 seconds  http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1592 化为二进制进行状态转移,详见代码。 完整代码: