hihocoder1776 序列
2024-09-01 10:08:57
思路:
考虑从左至右依次向每个位置放置数字,对于第i个位置,以i为结尾的i个前缀和模P是不能相等的(因为不存在和为P的倍数的子串),所以第i个位置只能放置P - i个不同的数字。则答案就是(P - 1) * (P - 2) * ... * (P - n)。
实现:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MOD = 1e9 + ; int main()
{
ll n, P;
while (cin >> n >> P)
{
if (n > P - ) { cout << << endl; continue; }
ll ans = ;
for (ll i = P - ; i > P - - n; i--)
{
ans = ans * i % MOD;
}
cout << ans << endl;
}
return ;
}
最新文章
- 为什么我们要给父级元素写overflow:hidden
- Web框架们
- [转]如何让div中的内容垂直居中
- android坐标
- Spring中WebApplicationContext的研究
- python中列表,元组,字符串如何互相转换
- Codeforces 417E Square Table(随机算法)
- Linux下的Job Control(转:http://blog.chinaunix.net/uid-26495963-id-3062757.html)
- ubunu设置java命令为全局的命令-添加到全局环境变量
- github jekyll site不再使用Maruku由于Markdown翻译员,但kramdown
- 如何利用【百度地图API】进行定位?非GPS定位
- 我的API HOOK库
- 用ildasm和ilasm对.net下的exe程序进行破解初探
- Linux解决MySQL-python安装失败问题
- 华为解锁BL
- h5py快速入门指南
- 使用json读写文件中的数据
- 07-OpenLDAP密码审计
- day11:装饰器
- 【VI】如何再执行上一个(历史)命令(已解决)