n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈.问最终栈中元素个数的期望是多少. 首先容易想到用概率算期望,p[i][j][k]表示已加入i个数,1有j个,总长为k的概率.(显然栈中一定是先一些0再是1). 考虑优化,容易想到f[i][j]表示已加入i个数,1有j个时,栈中的期望元素个数. 讨论下一个放入的数是0还是1,直接转移即可. 每次转移是状态是f[i]=(f[k]+1)*p[k][i],其中k是能到达i的所有状态,p[k][i]是i由k转移到的概率(…