守卫者的挑战

这一道题目,我们不难想到用递推

把所有状态都给包含进去的话,就是设\(f[i][j][k]\)表示前\(i\)个挑战,赢了\(j\)次,还剩\(k\)容量的概率

但是这样复杂度显然爆炸(注意第三维不止取到\(2000\),因为可以继续获得背包容量),所以考虑压缩,我们发现\(N\)最大为\(200\),而每个碎片都是只占\(1\)个体积,所以说当某一时刻背包的体积已经大于\(n\)了,我们完全不用管这一维了

这个时候我们都是这么改状态:设\(f[i][j][k]\)表示前\(i\)个挑战,赢了\(j\)次,容量不小于\(k\)的所有情况的概率

然后就很好推了

posted @ 2024-02-17 10:37  最爱丁珰  阅读(3)  评论(0编辑  收藏  举报