給你乙個長度為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...