【jzoj5215】【BZOJ4870】【Shoi2017】【GDOI2018模拟7.9】【组合数问题】【矩阵快速幂】
来源:互联网 发布:沉香有助于睡眠吗 知乎 编辑:程序博客网 时间:2024/05/29 03:12
题目大意
解题思路
暴力60分没毛病。r
code
#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#define LF double#define LL long long#define ULL unsigned LL#define fo(i,j,k) for(LL i=j;i<=k;i++)#define fd(i,j,k) for(LL i=j;i>=k;i--)#define fr(i,j) for(LL i=begin[j];i;i=next[i])using namespace std;LL max(LL x,LL y){return (x>y)?x:y;}LL min(LL x,LL y){return (x<y)?x:y;}LL const mk=50+9,inf=1e18+7;LL n,p,K,r,ans[mk][mk],mat[mk][mk],tmp[mk][mk];void multansmat(){ fo(i,0,K-1)fo(j,0,K-1)tmp[i][j]=0; fo(i,0,K-1)fo(j,0,K-1)fo(k,0,K-1)tmp[i][k]=(tmp[i][k]+ans[i][j]*mat[j][k])%p; fo(i,0,K-1)fo(j,0,K-1)ans[i][j]=tmp[i][j];}void multmatmat(){ fo(i,0,K-1)fo(j,0,K-1)tmp[i][j]=0; fo(i,0,K-1)fo(j,0,K-1)fo(k,0,K-1)tmp[i][k]=(tmp[i][k]+mat[i][j]*mat[j][k])%p; fo(i,0,K-1)fo(j,0,K-1)mat[i][j]=tmp[i][j];}int main(){ freopen("d.in","r",stdin); freopen("d.out","w",stdout); scanf("%lld%lld%lld%lld",&n,&p,&K,&r); ans[0][0]=1; fo(i,0,K-1)mat[i][i]++,mat[i][(i+1==K)?0:i+1]++; LL nk=n*K; while(nk){ if(nk&1)multansmat(); multmatmat(); nk>>=1; } printf("%lld",ans[0][r]); return 0;}
阅读全文
0 0
- 【jzoj5215】【BZOJ4870】【Shoi2017】【GDOI2018模拟7.9】【组合数问题】【矩阵快速幂】
- jzoj5215&&bzoj4870[Shoi2017]组合数问题 dp+矩阵快速幂
- [BZOJ4870][Shoi2017]组合数问题 矩阵快速幂
- [BZOJ4870][SHOI2017]组合数问题 DP+矩阵快速幂
- 【JZOJ5215】【GDOI2018模拟7.9】组合数问题
- BZOJ4870: [Shoi2017]组合数问题
- Bzoj4870:SHOI2017-组合数问题
- BZOJ4870: [Shoi2017]组合数问题
- [bzoj4870] [Shoi2017]组合数问题
- 【BZOJ4870】组合数问题(SHOI2017)-矩阵优化DP
- bzoj4870 [Shoi2017]组合数问题(dp+矩阵倍增)
- 【GDOI2018模拟7.9】组合数问题
- 【GDOI2018模拟7.9】组合数问题
- BZOJ 4870: [Shoi2017]组合数问题 (递推+矩阵快速幂)
- 循环矩乘——Luogu3746/BZOJ4870 [SHOI2017]组合数问题
- 【JZOJ 5215】【GDOI2018模拟7.9】组合数问题
- [JZOJ5215]【HEOI、SXOI2017】组合数问题
- 4870: [Shoi2017]组合数问题
- PAT甲级真题及训练集(23)--1079. Total Sales of Supply Chain (25)(未全部测试通过,pat24分)
- htmlunit初识HelloWorld
- EasyPlayer Android基于ffmpeg实现播放(RTSP/RTMP/HTTP/HLS)同步录像功能
- JAVA垃圾回收算法
- 【信源编码作业四】基于LBG的矢量量化算法
- 【jzoj5215】【BZOJ4870】【Shoi2017】【GDOI2018模拟7.9】【组合数问题】【矩阵快速幂】
- 循环冗余校验-CRC
- Shell变量
- Nginx学习笔记(二)
- 深度学习笔记——Solver超参数配置文件
- 【动态规划24】bzoj3437小P的牧场(dp+斜率优化)
- 线程自定义数据
- java EE单例Singleton自启动
- CRC校验