Link
Solution
受期望的影响,我设计出状态表示从第个开始处理,有剩余空间,还需完成个任务,能做到的概率。 显然,从后往前DP,。 然后发现DP出的结果上天了——远远超过1。。。 仔细思考,我的边界设置的是所有,其实是包含了很多不合法状态的。 我的答案来自,就是有很多是从不合法的状态转移过来的。 于是Orz Po姐。 从前往后DP。解决。
Tips
一定要从合法状态开始推啊!
Code
1 | //Code by Lucida |
受期望的影响,我设计出状态f[i][v][l]表示从第i个开始处理,有剩余空间v,还需完成l个任务,能做到的概率。 显然,从后往前DP,f[i][v][l]=p[i]×f[i+1][v+a[i]][l+1]+(1−p[i])×f[i+1][v][l]。 然后发现DP出的结果上天了——远远超过1。。。 仔细思考,我的边界设置的是所有f[n][v][0]=1,其实是包含了很多不合法状态的。 我的答案来自∑v+vinit>0f[1][v][0],就是有很多是从不合法的状态转移过来的。 于是Orz Po姐。 从前往后DP。解决。
一定要从合法状态开始推啊!
1 | //Code by Lucida |