問題の意味
問題の解決策
DP神の真の定義は、
高いからの暴力がない場合のアイデアは、最初の$のx $操作、$ MAXN $、$ MAXN $ 1の状態<< 200のための[X] [MAXN] $ F $を向けることです
実際に、我々は、F $を定義することができる[X] [MAXN] [LEN] [0 \ 1] $ MAXN $ $後8、後第0 \ 1、第確率の$ $ Jの連続した長さ
なぜ、この定義
実際には数2の素因数分解は、バック0の数であります
0 +1は、すべて1 8が十分なされた後動作し、最大200までの既存の番号を破壊します
それだけで最初の9の後に影響します
極端なケースを考えてみましょう
111111111111111
今運ぶでしょう、最後の1に追加
1000000000000000、そして+1はもはや後9に影響を与えないだろうか
コードでは比較的簡単な具体的な外観を転送
コード
1つの#include <ビット/ STDC ++ H> 2 使用して 名前空間STDを、 3 の#defineっ長い長い 4 LLのX、N、M、XX、選ぶ、MAXN、CNT。 5 ダブル P、ANS = 0 。 6 二重 F [ 210 ] [ 288 ] [ 310 ] [ 2 ]。 7 LL CAL(LL今){ 8 のLL CNT = 0 。 9 ながら(現在%2 == 0)CNT ++、今/ = 2 。 10 リターンCNT; 11 } 12 INT メイン(){ 13 // freopenは( "cnm.xlsx"、 "W"、STDOUT)。 14 のscanf(" %LLD%LLD%LF "、&X、およびnは、&P)。 15 P / = 100 。 16 のXX =のX。 17 XX >> = 8 。 18 OPT = XX&1 。 19 MAXN =(1 << 8) - 1 。 20 のために(; XX &&((XX&1)== OPT); XX >> = 1 ) 21 CNT ++ 。 0)CNT ++; // 23 M = CNT + N。 24 F [ 0 ] [X&MAXN] [CNT]が[OPT] = 1 。 25 // のprintf( "%LLDする\ n"、M)。 26 のために(LL i = 1 ; iが<= N iが++ ) 27 のための(LL =事前0 ; <= MAXN事前; ++予備) 28 のための(LL J = 1 ; J <= Mであり、j ++ ) 29 のための(LL T = 0 ; T <= 1 ; T ++ ) 30 であれば(F [I- 1 ] [事前] [J] [T]){ 31 LL今、TT、JJ。 32 今=プリ+ 1 。 33 であれば(今==(1 << 8 )){ 34 今や= 0 ; TT = T ^ 1 。 35 であれば(Tの== 1)JJ = J。 36 他 JJ = 1 。 37 } 38 他 JJ = J、TT = T。 39 F [i]は[今] [JJ] [TT] + = F [I- 1 ] [事前] [J] [T] *(1 - P)。 40 今=前<< 1 。 41 であれば(((今>> 8)&1)== T)TT = T、JJ = J + 1 。 42 他の TT = T ^ 1、JJ = 1 ; 43 今=今&MAXN。 44 F [i]は[今] [JJ] [TT] + = F [I- 1 ] [事前] [J] [T] * P。 45 } 46 用(LL今= 1 ;今<= MAXN;今++)// 47 用(LLのJ = 1 ; J <= Mであり、j ++ ) 48 のための(LL T =0 ; T <= 1 ; T ++ ) 49 であれば(F [N] [今] [J] [T]) 50の ANS + = F [N] [今] [J] [T] * CAL(今)。 51 // 、のprintf( "F [%LLD] [%LLD] [%のLLD] [%LLD] =%LF \ n"は、N、今、J、T、F [N] [今] [J] [ T])。 52 // のprintf( "%13lfを\ n"、ANS)。 53 のための(LLのJ = 1 ; J <= Mであり、j ++ ){ 54の ANSは+ = F [N] [ 0 ] [j] [ 0 ] *(J + 8)+ F [N]が[ 0 ] [j]を[ 1 ] * 8 。 55 // printf( "F [%のLLD] [0] [%のLLD] [0] =%LF F [%のLLD] [0] [%のLLD] [1] =%LF N \"、N、J、N [F ] [0] [j] [0]、N、J、F [N] [0] [j]を[1])。 56 } 57 のprintf(" %.13lfする\ n " 、ANS)。 58 }