【題意】
給定乙個數字串,然後求出所有子串行中能被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 #include6view codeusing
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 }
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...