博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
「模拟8.21」山洞(矩阵优化DP)
阅读量:5337 次
发布时间:2019-06-15

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

暴力:

 

正解:

考虑循环矩阵,f[i][j]表示从i点到j点的方案数

我们发现n很小,我们预处理出n次的f[i][j]

然后在矩阵快速幂中,我们要从当前的f[i][j]*f[j][k]-->fir[i][j]

但是此时的循环为三层

我们考虑转移式子的意义在0-n次从i-j,在n+1到2×n转移至j

这样此时的j-k其实可以把他看作从0开始走j-k步本质上是一样的

然后还有一个特判,就不讲了

for(int j=0;j

 

代码

1 #include
2 #define int long long 3 #define MAXN 4001 4 using namespace std; 5 int c[MAXN],f[MAXN],fir[MAXN]; 6 int n,m; 7 const int mod=1e9+7; 8 void cheng(int k) 9 {10 memset(c,0,sizeof(c));11 if(k==1)12 {13 for(int i=0;i
>=1ll;44 }45 }46 int ff[4ll][MAXN];int g[MAXN];47 int now,last;int ans[MAXN];48 signed main()49 {50 //freopen("text.in","r",stdin);51 //freopen("1.out","w",stdout);52 scanf("%lld%lld",&n,&m);53 int now=1;int last=0;54 ff[0][0]=1;55 for(int i=1;i<=n;++i)56 {57 if(i>1)58 {59 swap(now,last);memset(ff[now],0,sizeof(ff[now]));60 }61 for(int j=0;j
View Code

 

转载于:https://www.cnblogs.com/Wwb123/p/11421020.html

你可能感兴趣的文章
Java 遍历指定文件夹及子文件夹下的文件
查看>>
(Chrome42)Lodop总计页面提示“未安装”要么“请升级”可能的原因和解决方案
查看>>
apache2.2 虚拟主机配置
查看>>
简历准备
查看>>
我的博客——第一天。
查看>>
ROS-USB摄像头
查看>>
jsp 按钮 超链接 直接跳转至另一页面
查看>>
C++网络编程--简单的WinSock代码
查看>>
构建Vue开发环境
查看>>
最新版本libjigle在windowsxp下编译过程
查看>>
实现算法2.2的程序
查看>>
特殊字符
查看>>
Java Web学习过程的思维导图
查看>>
frequentism-and-bayesianism-chs
查看>>
CIFAR-10 Competition Winners: Interviews with Dr. Ben Graham, Phil Culliton, & Zygmunt Zając
查看>>
如何在命令行模式下查看Python帮助文档---dir、help、__doc__
查看>>
9图教你开口就能说重点
查看>>
A Tour of Go : Exercise: Loops and Functions
查看>>
linux中chmod与chown两个命令详解
查看>>
获取用户真实ip
查看>>