满江红求助
查看原帖
满江红求助
1157709
zengzeyu楼主2025/8/29 19:31

rt

在编译器运行都正确,放洛谷上就不行了

#include<bits/stdc++.h>                                                                 
#define L 1000005
#define P 130
using namespace std;
vector<long long> dp(P, 0);
vector<long long> dpa(P, 0);
vector<long long> dpb(P, 0);
int l, p, res = 0;
string s;

int main() {
    cin >> p;
    cin >> s;
    l = s.length();
    for (int i = 1; i <= l; i++){
    	int num = s[i - 1] - '0';
        for (int j = 0; j < p; j++){
            dp[j] += dpa[(p + j - num % p) % p];
            if(num % p == j){
                dp[j] ++;
            }
            
            dpb[j * 10 % p] += dp[j];
            if(j == 0){
                res += dp[j];
            }
        }
        dpa = dpb;
        dpb = vector<long long>(P, 0);
        dp = vector<long long>(P, 0);
    }
    cout<<res;
    return 0;

}
2025/8/29 19:31
加载中...