题意:给出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 ;
}

最新文章

  1. 关于vue指令(directive)
  2. NOIP2009分数线划定【B004】
  3. 汇总10.4版本ArcGIS Server与ArcMap 安装+SDE+注册数据源(非破解)
  4. before和after的强大
  5. PHP实现Web Service(转)
  6. 找出数组中出现奇数次的元素&lt;异或的应用&gt;
  7. JavaEmail
  8. Shell continue循环
  9. less基础语法
  10. 1068: [SCOI2007]压缩
  11. 通过清华大学镜像下载Android源码并编译源码
  12. IntelliJ IDEA像Eclipse一样打开多个项目(转)
  13. 关于eclipse 在创建一个新项目时自动出现的appcompat v7如何解决
  14. 【CF653G】Move by Prime 组合数
  15. [INS-20802] Oracle Net Configuration Assistant failed,Caught UnknownHostException
  16. 在 Vuejs 项目中如何定义全局变量 全局函数
  17. chrome 下修改 agent 的方法
  18. Python 随机数函数
  19. 【LOJ】#6289. 花朵
  20. iOS 阶段学习第三天笔记(运算符)

热门文章

  1. The Maximum Unreachable Node Set 【17南宁区域赛】 【二分匹配】
  2. 大道至简(第五i章)读后感
  3. $Android自定义控件风格的方法
  4. Github结合Eclipse出现的问题
  5. MATLAB画图设置长宽。并高清复制
  6. [原创]spring及springmvc精简版--继承数据源,声明式事物
  7. Linux Graphic DRI Wayland 显示子系统
  8. Docker容器技术-基础命令
  9. 【转】linux驱动开发
  10. Kubernetes lxcfs