DP 被3整除的子串行

2022-06-19 23:36:13 字數 662 閱讀 8277

【題意】

給定乙個數字串,然後求出所有子串行中能被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 #include6

using

namespace

std;

7 typedef long

long

ll ;

8const ll mod = 1e9 + 7;9

const

int n = 1e3 + 10

;10 ll f[n][3

] ;11

char

s[n];

12int

main()

1324}25

}26 ll ans = 0;27

for( int i = 1 ; i <= n ; i++)

30 printf("

%lld\n

",ans);

31return0;

32 }

view code

dp被3整除的子串行

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

被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...