博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[BZOJ 4870][SHOI&SXOI2017]组合数问题(Dp+矩阵优化)
阅读量:4353 次
发布时间:2019-06-07

本文共 714 字,大约阅读时间需要 2 分钟。

Description

Solution

其实看到数据范围应该往矩阵乘法这边想的

考虑式子的实际意义 从n*k个里面选模k等于r个的方案数 Dp

f[i][j]=f[i-1][j]+f[i-1][(j-1+k)%k]

另外给矩阵赋值的时候建议  m.a[(i-1+K)%K][i]++; m.a[i][i]++; 而不是  m.a[(i-1+K)%K][i]=1; m.a[i][i]=1; 

因为K=1的时候会出现偏差…a[0][0]应该为2

#include
#include
#include
#include
using namespace std;typedef long long LL;LL n,r,K,p;struct Matrix{ LL a[51][51]; Matrix(){memset(a,0,sizeof(a));} Matrix operator *(const Matrix& x) { Matrix ans; for(int i=0;i
>=1; } return res;}int main(){ scanf("%lld%lld%lld%lld",&n,&p,&K,&r); for(int i=0;i

转载于:https://www.cnblogs.com/Zars19/p/6796101.html

你可能感兴趣的文章
Maven项目无法添加到tomcat
查看>>
查看公司工商注册信息
查看>>
小tip: 使用SVG寥寥数行实现圆环loading进度效果
查看>>
科技发展潮流
查看>>
Reactor-反应器模式
查看>>
Object的wait/notify/notifyAll&&Thread的sleep/yield/join/holdsLock
查看>>
MVC3+EntityFramework实践笔记
查看>>
一个漂亮的 PlaceHolder
查看>>
jq 中.html(),.text()和.val()的总结
查看>>
ACE OLEDB 12.0连接方式
查看>>
Stack,( Aizu - ALDS1_3_A)
查看>>
javascript_17-基本类型和引用类型
查看>>
django paginator 分页功能
查看>>
java arrayList vector 区别
查看>>
测试思想-文档评审 关于需求评审
查看>>
poj 1035 纯正的字符串水
查看>>
Spring Shiro配置第三方SSO客户端登录
查看>>
mybatis逆向工程之动态web项目
查看>>
pip问题解决方案
查看>>
iphone手机连接USB时出现须要Mobile device setup disk上的usbaapl.sys文件
查看>>