#L3075. 「2019 集训队互测 Day 3」组合数求和
「2019 集训队互测 Day 3」组合数求和
题目描述
定义
$$f(j) \equiv \sum_{i=0}^{n-1} C_{i \cdot d}^{j} \pmod{M},\quad 0 \leq f(j) < M $$其中 , , 为给定值。
现在给定 ,输出
$$f(0) \ \mathrm{xor} \ f(1) \ \mathrm{xor} \ f(2) \ \mathrm{xor} \ \cdots \ \mathrm{xor} \ f(m - 1) $$的值。
其中 为组合数 选 ,即
$$C_n^m = \begin{cases} \frac{n!}{m! \cdot (n-m)!} &, 0 \leq m \leq n \\ 0 &, \text{otherwise} \end{cases} $$表示异或和。
输入格式
一行四个整数 , , , ,由空格隔开。
输出格式
一行一个整数表示答案。
样例
输入:
3 2 3 998244353
输出:
10
解释:
$$\begin{aligned} f(0) &\equiv C_0^0 + C_3^0 + C_6^0 \equiv 1 + 1 + 1 \equiv 3 \pmod{998244353} \\ f(1) &\equiv C_0^1 + C_3^1 + C_6^1 \equiv 0 + 3 + 6 \equiv 9 \pmod{998244353} \\ f(0) \ \mathrm{xor} \ f(1) &= 3 \ \mathrm{xor} \ 9 = 10 \end{aligned} $$数据范围与提示
本题采用捆绑测试。
对于所有测试包均满足:
| 测试包编号 | 测试包分值 | 其它约定 |
|---|---|---|
| 1 | 4 | , |
| 2 | 10 | |
| 3 | 6 | , |
| 4 | ||
| 5 | 7 | |
| 6 | 22 | |
| 7 | 7 | |
| 8 | ||
| 9 | 8 | 为质数 |
| 10 | 23 | 无 |