洛谷3746
来源:互联网 发布:淘宝允许好评返现了 编辑:程序博客网 时间:2024/06/06 09:21
一开始没去想正解,对着部分分口胡了75分。
然后想正解,跟常人不同的是,我并没有把考虑k,接着就死活想不出,我真是太菜了。
#include<cstdio>#include<cstring>const int N=55;int n,p,k,r,i;long long m;struct matrix{ int a[N][N]; inline void clear(){ memset(a,0,sizeof a); } matrix operator*(const matrix&x){ matrix ans;ans.clear(); register int i,j,l; for(i=0;i<k;++i) for(l=0;l<k;++l) for(j=0;j<k;++j)ans.a[i][j]=(ans.a[i][j]+1ll*a[i][l]*x.a[l][j])%p; return ans; }}a,b;int main(){ scanf("%d%d%d%d",&n,&p,&k,&r); for(i=0;i<k;++i)a.a[i][i]=1,++b.a[i][i],++b.a[i][(i+1)%k]; m=1ll*n*k; for(;m;m>>=1,b=b*b)if(m&1)a=a*b; printf("%d\n",a.a[r][0]); return 0;}
阅读全文
0 0
- 洛谷3746
- 【洛谷3746】【六省联考2017】组合数问题
- hdu 3746
- hdu 3746
- HDU 3746
- hdu 3746
- hdoj 3746
- HDU 3746
- HDU 3746
- tjut 3746
- 洛谷
- 洛谷
- 洛谷
- 【KMP】HDU 3746
- HDU-3746 Cyclic Nacklace
- HDU 3746 Cyclic Nacklace
- hdoj 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- [shell] 特殊符号
- activiti学习--13:组任务分配方式3--使用类
- 如何使用Redmine提升你的工作效率
- hadoop之 解析HDFS的写文件流程
- CentOS7.2 创建本地与局域网yum源
- 洛谷3746
- 数据库:超键、候选键、主键、外键
- css写三角形(边和背景一个色,边和背景不同色)
- Git初级全攻略
- 【python 资料整理】机器学习、数学、Python 速查表
- 理解 Spring 定时任务的 fixedRate 和 fixedDelay 的区别
- 第十四篇 JS实现加减乘除 正则表达式
- windows 设置静态ip地址
- 小程序浮层滚动阻止window窗体滚动JS/CSS处理