BZOJ- 3142:数列 (数学)
2024-09-04 18:05:26
题意:给出N,K,M,P。求有多少长度为K的序列A,满足:(1)首项为正整数;(2)递增数列;(3)相邻两项的差小于等于m;(4)最后一个数小于等于N。
思路:根据差分来算数量。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll N,M,K,P,ans,ans2;
ll qpow(ll a,ll x){
ll res=;while(x){
if(x&) res=(ll)res*a%P;
a=(ll)a*a%P; x>>=;
}return res;
}
int main()
{
scanf("%lld%lld%lld%lld",&N,&K,&M,&P); N%=P;
ans=(ll)N*qpow(M,K-)%P;
ll a=M,b=M+;
if(a&) b/=; else a/=;
ans2=(ll)a*b%P;
ans2=(ll)ans2*qpow(M,K-)%P*(K-)%P;
ans=(((ans-ans2)%P)+P)%P;
printf("%lld\n",ans);
return ;
}
最新文章
- 关于vue指令(directive)
- NOIP2009分数线划定【B004】
- 汇总10.4版本ArcGIS Server与ArcMap 安装+SDE+注册数据源(非破解)
- before和after的强大
- PHP实现Web Service(转)
- 找出数组中出现奇数次的元素<;异或的应用>;
- JavaEmail
- Shell continue循环
- less基础语法
- 1068: [SCOI2007]压缩
- 通过清华大学镜像下载Android源码并编译源码
- IntelliJ IDEA像Eclipse一样打开多个项目(转)
- 关于eclipse 在创建一个新项目时自动出现的appcompat v7如何解决
- 【CF653G】Move by Prime 组合数
- [INS-20802] Oracle Net Configuration Assistant failed,Caught UnknownHostException
- 在 Vuejs 项目中如何定义全局变量 全局函数
- chrome 下修改 agent 的方法
- Python 随机数函数
- 【LOJ】#6289. 花朵
- iOS 阶段学习第三天笔记(运算符)