编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#23832 #2028. 小学生的复仇2 Accepted 100 599 ms 16656 K C++ 17 / 1.0 K admin 2024-12-16 22:29:55
显示原始代码
#include <bits/stdc++.h>
using namespace std;
#define int long long


const int mod = 1e9 + 7;
int prime[1000010], idx, st[1000010];
void get_primes(int n) {
    for (int i = 2; i <= n; i++) {
        if (!st[i])
            prime[idx++] = i;
        for (int j = 0; prime[j] <= n / i; j++) {
            st[prime[j] * i] = 1;
            if (i % prime[j] == 0)
                break;
        }
    }
}
void solve() {
    int n, m;
    cin >> n >> m;
    get_primes(max(n, m));
    vector<int> cnt(n + 10);
    //函数:求x的阶乘中,所有质因子出现了多少次 f为1代表加上次数 f为-1代表减去次数
    auto get = [&](int x, int f) {
        for (int i = 0; i < idx; i++) {
            int t = x, p = prime[i];
            if (p > x)
                break;
            while (t / p >= 1) {
                cnt[p] += f * t / p;
                t /= p;
            }
        }
    };
    get(n, 1), get(m, -1), get(n - m, -1);
    int ans = 1;
    for (int i = 2; i <= n; i++) {
        ans = ans * (cnt[i] + 1) % mod;
    }
    cout << ans << endl;
}
signed main() {
    int t = 1;
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    //	cin>>t;
    while (t--) solve();
    return 0;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:4 ms
内存:324 KiB

输入文件(test2.in

2 1

答案文件(test2.out

2

用户输出

2

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:5 ms
内存:324 KiB

输入文件(test3.in

4 2

答案文件(test3.out

4

用户输出

4

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:18 ms
内存:5440 KiB

输入文件(test4.in

306423 93638

答案文件(test4.out

57927437

用户输出

57927437

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:4 ms
内存:540 KiB

输入文件(test5.in

13152 11690

答案文件(test5.out

255145788

用户输出

255145788

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:19 ms
内存:5904 KiB

输入文件(test6.in

335154 246945

答案文件(test6.out

916374182

用户输出

916374182

系统信息

Exited with return code 0
测试点 #6
Accepted
得分:100
用时:44 ms
内存:13756 KiB

输入文件(test7.in

824873 292671

答案文件(test7.out

142608982

用户输出

142608982

系统信息

Exited with return code 0
测试点 #7
Accepted
得分:100
用时:48 ms
内存:15672 KiB

输入文件(test8.in

936980 450224

答案文件(test8.out

321681552

用户输出

321681552

系统信息

Exited with return code 0
测试点 #8
Accepted
得分:100
用时:13 ms
内存:2684 KiB

输入文件(test9.in

138526 74476

答案文件(test9.out

927704972

用户输出

927704972

系统信息

Exited with return code 0
测试点 #9
Accepted
得分:100
用时:51 ms
内存:16268 KiB

输入文件(test10.in

979033 543773

答案文件(test10.out

391451862

用户输出

391451862

系统信息

Exited with return code 0
测试点 #10
Accepted
得分:100
用时:20 ms
内存:5976 KiB

输入文件(test11.in

346185 313367

答案文件(test11.out

288767811

用户输出

288767811

系统信息

Exited with return code 0
测试点 #11
Accepted
得分:100
用时:41 ms
内存:13280 KiB

输入文件(test12.in

795840 28587

答案文件(test12.out

645367094

用户输出

645367094

系统信息

Exited with return code 0
测试点 #12
Accepted
得分:100
用时:41 ms
内存:13056 KiB

输入文件(test13.in

777456 394110

答案文件(test13.out

537180411

用户输出

537180411

系统信息

Exited with return code 0
测试点 #13
Accepted
得分:100
用时:43 ms
内存:13668 KiB

输入文件(test14.in

819520 489072

答案文件(test14.out

941967404

用户输出

941967404

系统信息

Exited with return code 0
测试点 #14
Accepted
得分:100
用时:30 ms
内存:9280 KiB

输入文件(test15.in

545687 430875

答案文件(test15.out

733333208

用户输出

733333208

系统信息

Exited with return code 0
测试点 #15
Accepted
得分:100
用时:40 ms
内存:11984 KiB

输入文件(test16.in

711448 326213

答案文件(test16.out

200045402

用户输出

200045402

系统信息

Exited with return code 0
测试点 #16
Accepted
得分:100
用时:7 ms
内存:1228 KiB

输入文件(test17.in

48669 17341

答案文件(test17.out

393779930

用户输出

393779930

系统信息

Exited with return code 0
测试点 #17
Accepted
得分:100
用时:17 ms
内存:3808 KiB

输入文件(test28.in

208896 64955

答案文件(test28.out

968999249

用户输出

968999249

系统信息

Exited with return code 0
测试点 #18
Accepted
得分:100
用时:52 ms
内存:16656 KiB

输入文件(test29.in

1000000 500000

答案文件(test29.out

20317448

用户输出

20317448

系统信息

Exited with return code 0
测试点 #19
Accepted
得分:100
用时:51 ms
内存:16624 KiB

输入文件(test30.in

1000000 500001

答案文件(test30.out

253999938

用户输出

253999938

系统信息

Exited with return code 0
测试点 #20
Accepted
得分:100
用时:51 ms
内存:16592 KiB

输入文件(test31.in

1000000 1000000

答案文件(test31.out

1

用户输出

1

系统信息

Exited with return code 0