传送门 题意: 给出N,X,Y,Z,定义一个合法的序列为长度为N,每个元素的取值为[1,10]的整数序列,序列满足其有四个下标x,y,z,w 使得a[x]+a[x+1]..a[y-1]=X,a[y]+a[y+1]+..a[z-1]=Y,a[z]+a[z+1]+.a[w]=Z 求合法序列个数(3≦N≦40,1≦X≦5,1≦Y≦7,1≦Z≦5) Solution: 这道题从正面思考的话会发现方案数会算重复,难以去重,尝试从反面考虑这件事:总方案数减去不合法的方案。 如何求不合法方案数呢? 注意到数字都非常小,我们可以把每个数转化成一个01串,例如1=‘1’,2=’10’,5=’10000’ 这样...