Luogu P1373 小a和uim之大逃离
来源:互联网 发布:聚焦网络爬虫 软件 编辑:程序博客网 时间:2024/06/05 17:44
题目描述:传送门
一看这题首先想到设
但是这样明显会爆内存…于是我就一直卡着了。后来看到讨论区有差这个字,才想到把状态减少到
另外我用的是顺推,感觉更好想。
代码
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cstdlib>using namespace std;const int mo=1e9+7;int n,m,k,d[800][800][16][2],a[800][800];int main(){ scanf("%d%d%d",&n,&m,&k); memset(d,0,sizeof(d)); for(int i=0;i<n;i++) for(int j=0;j<m;j++){ scanf("%d",&a[i][j]); d[i][j][a[i][j]][0]=1; } for(int i=0;i<n;i++) for(int j=0;j<m;j++) for(int u=0;u<=k;u++){ int k1; if(i+1<n){ k1=u+a[i+1][j]; if(k1>k) k1-=(k+1); d[i+1][j][k1][0]=(d[i+1][j][k1][0]+d[i][j][u][1])%mo; k1=u-a[i+1][j]; if(k1<0) k1+=(k+1); d[i+1][j][k1][1]=(d[i+1][j][k1][1]+d[i][j][u][0])%mo; } if(j+1<m){ k1=u+a[i][j+1]; if(k1>k) k1-=(k+1); d[i][j+1][k1][0]=(d[i][j+1][k1][0]+d[i][j][u][1])%mo; k1=u-a[i][j+1]; if(k1<0) k1+=(k+1); d[i][j+1][k1][1]=(d[i][j+1][k1][1]+d[i][j][u][0])%mo; } } int ans=0; for(int i=0;i<n;i++) for(int j=0;j<m;j++) ans=(ans+d[i][j][0][1])%mo; cout<<ans<<endl; return 0;}
阅读全文
0 0
- Luogu P1373 小a和uim之大逃离
- 【洛谷 P1373 小a和uim之大逃离】dp
- 洛谷 P1373 小a和uim之大逃离
- 洛谷 P1373 小a和uim之大逃离
- 洛谷 P1373 小a和uim之大逃离
- P1373 小a和uim之大逃离
- 洛谷 P1373 小a和uim之大逃离
- 洛谷 P1373 小a和uim之大逃离
- 洛谷 P1373 小a和uim之大逃离
- 洛谷P1373 小a和uim之大逃离
- 【DP】洛谷 P1373 小a和uim之大逃离
- 洛谷P1373 小a和uim之大逃离
- 洛谷P1373 小a和uim之大逃离
- [T][10+]洛谷 P1373 小a和uim之大逃离
- 洛谷P1373 小a和uim之大逃离(DP)
- 小a和uim之大逃离
- 小a和uim之大逃离
- 洛谷1373 小a和uim之大逃离
- 怎么查看电脑配置|win7查看电脑配置教程
- QMQY
- Centos7搭建代理服务器Shadowsocks
- 对数换底公式的证明
- 这50款必看医疗APP 或许就是下一个风口 (上)
- Luogu P1373 小a和uim之大逃离
- 北京上网首选DNS服务器地址,北京最快的DNS服务器地址,北京DNS大全
- SwipeRefreshLayout与SwipeLayout结合解决冲突
- React Native中监听ScrollView滑到底部事件监听
- 正规的运维工作是什么的?
- Kotlin项目练习记录
- 1、mongodb:如何安装mongodb
- 1.windows 应用程序开发(MessageBox 和 DialogBox 和 WM_COMMAND)
- ssm框架 返回 json格式数据