被3整除的子串行(簡單DP)

2022-03-05 15:39:37 字數 785 閱讀 4622

給你乙個長度為50的數字串,問你有多少個子序列構成的數字可以被3整除

答案對1e9+7取模

輸入乙個字串,由數字構成,長度小於等於50
輸出乙個整數

dp[i][j]表示到前i個字元能湊出餘數為j的個數

ac**:

1 #include2

using

namespace

std;

3 # define ll long

long

4 # define inf 0x3f3f3f3f

5const

int maxn = 2e5+100;6

const

int mod =1e9+7;7

char

str[maxn];

8 ll dp[maxn][10];9

intmain()

1024

//cout<25

//for(int j=0;j<3;j++)28}

29//

cout<30

//for(int j=0;j<3;j++)

33 printf("

%lld\n

",dp[len][0

]);34

return0;

35 }

dp被3整除的子串行

給你乙個長度為50的數字串,問你有多少個子序列構成的數字可以被3整除 答案對1e9 7取模 輸入乙個字串,由數字構成,長度小於等於50輸出乙個整數示例1 複製132 複製3 示例2複製9 複製1 示例3複製333 複製7 示例4複製123456 複製23 示例5複製00 複製3 n為長度 子任務1 ...

DP 被3整除的子串行

題意 給定乙個數字串,然後求出所有子串行中能被3整除的個數。題解 1 狀態表示 f i j 指的是,以s i 結尾的對3取餘後值為j的集合 2 f i j 方案數 3 集合劃分 每次轉移都是從f 1,2,i 1 0,1,2 1 include2 include3 include4 include5 ...

被3整除的子串行(線性dp)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 題目描述 給你乙個長度為50的數字串,問你有多少個子序列構成的數字可以被3整除 答案對1e9 7取模 輸入描述 輸入乙個字串,由數字構成,長度小於等於50 輸出描...