小a和uim之大逃离,洛谷之提高历练地,动态规划TG.lv(1)(3-2)
正题
第二题:小a和uim之大逃离
这题有点烦,但是我们可以从k入手,大小为k的魔瓶,可以装的容量为0到k,那么相当于我们每一次mod 一下k 就行了。
我们当然也可以从小a和小uim的魔瓶差入手,我们设f[i][j][h][a/uim]为小a或小uim走到(i,j)这个点,小a和小uim的魔瓶差值为h的方案数。
那么很容易就可以得出动态规划方程。
f[i][j][k][a]=f[i][j][h-map[i][j]]..
f[i][j][k][uim]=f[i][j][h+map[i][j]]..
相加一下即可。
最后的答案明显就是,以uim结尾的魔瓶差为0的方案数总和。
代码<有些东西还是在程序中才看得出来>
#include<cstdio>
#include<cstdlib>
#include<cstring>int f[810][810][16][2];
int n,m,k;
int map[810][810];int suan(int &x,int y)
{return x=(x+y)%1000000007;
}int main()
{scanf("%d %d %d",&n,&m,&k);k++;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){int x;scanf("%d",&x);x%=k;map[i][j]=x;f[i][j][x][0]=1;}for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)for(int h=0;h<k;h++){suan(f[i][j][h][0],f[i-1][j][(h+k-map[i][j])%k][1]+f[i][j-1][(h+k-map[i][j])%k][1]);suan(f[i][j][h][1],f[i-1][j][(h+map[i][j])%k][0]+f[i][j-1][(h+map[i][j])%k][0]);}long long tot=0;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){tot+=f[i][j][0][1];tot%=1000000007;}printf("%lld\n",tot);
}
小a和uim之大逃离,洛谷之提高历练地,动态规划TG.lv(1)(3-2)相关推荐
- 洛古 P1373 小a和uim之大逃离
P1373 小a和uim之大逃离 题目提供者lzn 标签 动态规划 洛谷原创 难度 提高+/省选- 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电 ...
- 洛谷P1373 小a和uim之大逃离
P1373 小a和uim之大逃离 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从 ...
- 洛谷1373 小a和uim之大逃离
https://www.luogu.org/problem/show?pid=1373 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声 ...
- 洛谷 1373 dp 小a和uim之大逃离 良心题解
洛谷 1373 dp 这题还不算太难,,当初看的时候不是很理解题意,以为他们会选择两条不同的路径,导致整体思路混乱 传送门 其实理解题意和思路之后还是敲了不短的时间,一部分身体原因再加上中午休息不太好 ...
- 洛谷1373小a和uim之大逃离
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 【题解】洛谷P1373 小a和uim之大逃离(dp 递推)
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 【洛谷P3818】小A和uim之大逃离 II
题目背景 话说上回--还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险.突然一阵南风吹来,一片乌云从南部天边急涌过来 ...
- luogu P1373 小a和uim之大逃离
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- [P1373]小a和uim之大逃离
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
最新文章
- Mybatis choose (when, otherwise)标签
- android+动画+锯齿,Android当中的防锯齿(Bitmap Canvas )
- android webservice 简单应用
- LeetCode 旋转数组 系列
- 光动能表怎么维护_男士手表什么牌子好,男士手表品牌推荐, 天梭、阿玛尼、西铁城、天王表、罗西尼、卡西欧男手表推荐...
- C#传递参数调用exe程序
- SharePoint 上传附件
- Java中使用KCP协议
- [机器学习] 混淆矩阵和kappa系数
- adobe Director的一些快捷键(direct_Shortcut)
- shared memory realm does not exist解决办法
- php怎么弄钓鱼,php 最新qq钓鱼空间php源码 需要修改数据库连接 WEB(ASP,PHP,...) 247万源代码下载- www.pudn.com...
- 读书笔记之《薄世宁·医学通识50讲》
- LMS自适应滤波器的FPGA实现
- 接触Firefox的xpi
- C语言 简单走迷宫小游戏
- 通信基础篇小项目-----简单网络画板的的实现
- Nginx 日志和监控 - TCP 健康监测
- C++基础---三目运算符
- 微信小程序车牌号组件,车牌号键盘,兼容新能源号牌
热门文章
- 国内开源社区有哪些 ?|GitCode
- 如何合理选择压力传感器
- 适用于***测试不同阶段的工具收集整理
- 基于CPLD的主板上电时序控制--状态机方式
- parallels desktop cracked
- Spring boot开发小而美的个人博客
- windows命令行下通过cl命令编译动态链接库示例
- 把Android手机变成远程监控摄像头
- iminicam服务器维护,iminicam摄像机连不上
- python dataframe dropna_在Python中使用熊猫在两个DataFrame之间进行值...