离散询问, m o b i u s mobius mobius反演,用树状数组维护值的前缀和(支持动态改变)
A C AC AC自动机+ d p dp dp,记 f i , j , k = 0 / 1 f_{i,j,k=0/1} fi,j,k=0/1表示长度为 i i i,节点为 j j j,是否抵达上限 k = 0 / 1 k=0/1 k=0/1
C a s e 1 : Case\ 1: Case 1:无限制 f i , s o n , 0 + = f i − 1 , j , 0 ( v a l ∈ [ 0 , 9 ] ) f_{i,son,0}+=f_{i-1,j,0}(val\in[0,9]) fi,son,0+=fi−1,j,0(val∈[0,9])
C a s e 2 : Case\ 2: Case 2:有限制 不到上限 f i , s o n , 0 + = f i − 1 , j , 1 ( v a l ∈ [ 0 , t o p − 1 ] ) f_{i,son,0}+=f_{i-1,j,1}(val\in[0,top-1]) fi,son,0+=fi−1,j,1(val∈[0,top−1])
C a s e 3 : Case 3: Case3:有限制 到上限 f i , s o n , 1 + = f i − 1 , j , 1 ( v a l = t o p ) f_{i,son,1}+=f_{i-1,j,1}(val=top) fi,son,1+=fi−1,j,1(val=top)
树剖+动态开点线段树,每个种族一棵线段树
C a s e 1 Case\ 1 Case 1:网络流最小割,每个点拆成两个点
C a s e 2 Case\ 2 Case 2:字典序最小,按边权从小到大枚举边,遇到满流边 ( u , v ) (u,v) (u,v), u u u向 S S S回流, v v v向 T T T回流,再删边 v a l = 0 val=0 val=0