洛谷P2831 愤怒的小鸟 + 篮球比赛1 2

这三道题一块儿作,有一点心得吧。学习

愤怒的小鸟,一眼看上去是爆搜,可是实现起来有困难(我打了0分出来)。spa

还有一种解法是状压DP。设计

抛物线一共只有那么多条,咱们枚举抛物线(枚举两个点),这样就可以预处理出b[i][j]class

表示过点i,j的抛物线通过的点(状压)。搜索

而后写了个记忆化搜索,枚举每一个状态是经过哪一个抛物线转移而来(可能转移后比现状态通过的点要多,可是不影响答案正确性)比赛

那么就这样A了...co

论状态压缩的多种应用——篮球比赛2:数字

这题也是状压DP,可是DP的状态设计很NB:压缩

f[i][sta]表示前i我的拼出状态sta的方案数。枚举

而后不是枚举如何转移而来,而是从这个点向后转移,也就是所谓的刷表法。枚举当前状态下一我的的取值而后转移。

篮球比赛1:

f[i][j]表示前i我的 ^ 出数字j的方案数,日后转移。

g[i][j]表示后i我的 & 出数字j的方案数,日后转移。

真神了。。。

如何肯定一道题要状态压缩?不肯定...凭感受啊!题作多了就行了吧。

主要是学习了这种形式的状态的刷表法。

其余的大多数状压DP基本上都可以记忆化搜索,不用本身想DP顺序。

 

还有,DP有两种方式:第i个在决策中 和不必定在。

貌似大部分都是把第i个算做在,而后前缀和处理。

可是仍是要具体状况具体分析。

相关文章
相关标签/搜索