題目描述
給你乙個長度為50的數字串,問你有多少個子序列構成的數字可以被3整除
答案對1e9+7取模
輸入描述:
輸入乙個字串,由數字構成,長度小於等於50
輸出描述:
輸出乙個整數
dp[i][k]前i個數,湊出餘數為k的方案
兩種選擇,一種從前面湊得轉移過來,一種什麼不做直接加上前面的方案
#include#include#includeusing namespace std;
const int n=60;
int n,a[n],dp[n][3],mod=1e9+7;
signed main()
for(int i=1;i<=n;i++)
cout<}
牛客 被3整除的子串行(DP)
示例1 輸入複製 132輸出複製3 示例2輸入複製9 輸出複製 1示例3 輸入複製 333輸出複製7 示例4輸入 複製123456 輸出複製 23示例5 輸入複製 00輸出複製3 被三整除的數的乙個性質是所有數字的數加起來是3的倍數。列舉三個狀態,模3等於0,模3等於1和模3等於2,那麼考慮第i個位...
牛客 被3整除的子串行(區間DP)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 題目描述 給你乙個長度為50的數字串,問你有多少個子序列構成的數字可以被3整除 答案對1e9 7取模 輸入描述 輸入乙個字串,由數字構成,長度小於等於50 輸出描...
牛客網 21302 被3整除的子串行
題目描述 給你乙個長度為50的數字串,問你有多少個子序列構成的數字可以被3整除 答案對1e9 7取模 輸入描述 輸入乙個字串,由數字構成,長度小於等於50 輸出描述 輸出乙個整數 輸入 132931 題意 題目描述 題解 因為是子串行,所以可以不連續,因此需要儲存每個區間上餘數為0,1,2的數目 用...