dp被3整除的子串行

2022-06-05 09:48:10 字數 815 閱讀 8857

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

答案對1e9+7取模

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

複製

132

複製

3

示例2複製

9

複製

1

示例3複製

333

複製

7

示例4複製

123456

複製

23

示例5複製

00

複製

3

n為長度

子任務1: n <= 5

子任務2: n <= 20

子任務3: 無限制

這個題就是dp[i][j]代表的是前i個數,餘數是j的個數,注意它可以是加上這一位,也可意識不加這一位

#include#include

#include

using

namespace

std;

const

int maxn=1e3+100

;const

int mod=1e9+7

;char

a[maxn];

intdp[maxn][maxn];

intmain()

} cout

<1][0]<}

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 輸出描...

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

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