专栏文章
CF2025B Binomial Coefficients, Kind Of 题解
CF2025B题解参与者 2已保存评论 4
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @miqp8ezy
- 此快照首次捕获于
- 2025/12/04 08:29 3 个月前
- 此快照最后确认于
- 2025/12/04 08:29 3 个月前
CF2025B Binomial Coefficients, Kind Of 题解
思路
考虑打表找规律:
| n/k | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| 0 | 1 | ||||
| 1 | 1 | 1 | |||
| 2 | 1 | 2 | 1 | ||
| 3 | 1 | 2 | 4 | 1 | |
| 4 | 1 | 2 | 4 | 8 | 1 |
容易发现,当 或 时,。否则 。再观察数据范围,,就不需要考虑前面的情况了。
可以用数学归纳法证明。读者自证不难。
已知 到 的每一项都符合上面的规律,要证 也符合上面的规律。
- 当 或 时,由
C[n][0] = 1;C[n][n] = 1;可得命题成立。 - 否则由
C[n][k] = C[n][k - 1] + C[n - 1][k - 1];可以得出,,即命题对 成立。
所以命题成立。
Code:
CPP#include<bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
int T,k;
long long Pow[100005];
void init()
{
Pow[0] = 1;
for(int i = 1;i < 100000;i++) Pow[i] = (Pow[i-1] << 1)%mod;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> T;
init();
for(int i = 1;i <= T;i++) cin >> k;
for(int i = 1;i <= T;i++)
{
cin >> k;
cout << Pow[k] << "\n";
}
return 0;
}
相关推荐
评论
共 4 条评论,欢迎与作者交流。
正在加载评论...