首先,正难则反
考虑有什么情况会不存在合法的取值
首先,若bi=ai+1那么i可以限制i+2的值
依此类推,那么当出现ci限制ci+1且限制的值于di+1的,就会出现不合法的取值
即意味着有一串值的bi=ai+1,bi+1=ai+2..bci+1−2=aci+1−1,bci+1−1=di+1时,ci与ci+1冲突
这样的情况有vci+1−ci−1∗(v−1)种,全集v2∗(ci+1−ci)
即可算出出现冲突的概率
然后1−p冲突算出成立的概率,所有的成立则可行
最后用v2∗(n−1)算出概率即可
代码赛时不再手上
思想来源:P6655