1. 程式人生 > >2018.10.31 NOIP模擬 幾串字元(數位dp+組合數學)

2018.10.31 NOIP模擬 幾串字元(數位dp+組合數學)

傳送門 如果觀察到性質其實也不是很難想。 然而考試的時候慌得一批只有心思寫暴力233. 下面是幾個很有用的性質:

  1. c0,1+1c1,0c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0,1},因為$ 10, 01 $是交替出現的。
  2. c1,0+c0,0c_{1,0 }+c_{0,0}00出現的次數。
  3. c0,1+c1,1+1c_{0,1}+ c_{1,1}+111 出現的次數。

由於滿足條件的數一定是一段11,一段00,一段1...1... 因此我們可以利用性質一算出0/10/1的段數。 然後性質二三可以告訴我們0/10/1出現的次數。 這樣就可以用數位d

pdp+組合數轉移了。 程式碼