社区讨论

满江红求助

P10262[GESP样题 六级] 亲朋数参与者 2已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mewr76kz
此快照首次捕获于
2025/08/29 19:32
6 个月前
此快照最后确认于
2025/11/03 23:42
4 个月前
查看原帖
rt
在编译器运行都正确,放洛谷上就不行了
CPP
#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;

}

回复

5 条回复,欢迎继续交流。

正在加载回复...