G - Restricted Permutation
这里的限制是对于每个 \(i \in [1, n]\) 的前缀 \(1 \backsim i\),显然可以想到往空序列依次插入 \(1,2,...,i\) 进行 \(dp\) 转移。这里记录两种做法,每一种做法都值得借鉴。
方法 \(1\):blog
方法 \(2\):blog
评价一下两种做法:方法 \(1\) 是官解做法,更容易理解一些;但是个人更喜欢方法 \(2\) 的状态设计,感觉更容易复用,但是需要充分理解计数对象,才能理解怎样做状态转移。
code1
code2