【题解】洛谷P1373 小a和uim之大逃离(坐标DP)
次元传送门:洛谷P1373
思路
设f[i][j][t][1/0]表示走到(i,j)时 小a减去uim的差值为t 当前是小a取(0) uim取(1)
那么转移就很明显了
f[i][j][t][]=(f[i][j][t][]+f[i-][j][(t-map[i][j]+k)%k][])%;//因为当前是小a取 前一步是uim取 差值增加
f[i][j][t][]=(f[i][j][t][]+f[i][j-][(t-map[i][j]+k)%k][])%;
f[i][j][t][]=(f[i][j][t][]+f[i-][j][(t+map[i][j]+k)%k][])%;//因为当前是uim取 前一步是小a取 差值减少
f[i][j][t][]=(f[i][j][t][]+f[i][j-][(t+map[i][j]+k)%k][])%;
初始化
f[i][j][map[i][j]%k][]=;//因为小a可以从任意一个地方出发
答案存在每个点对应的f数组中 差值为0 且是uim取值的数组中
代码
#include<iostream>
using namespace std;
int f[][][][];
int map[][];
int n,m,k,ans;
int main()
{
cin>>n>>m>>k;
k++;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
cin>>map[i][j];
f[i][j][map[i][j]%k][]=;
}
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
for(int t=;t<=k;t++)
{
f[i][j][t][]=(f[i][j][t][]+f[i-][j][(t-map[i][j]+k)%k][])%;
f[i][j][t][]=(f[i][j][t][]+f[i][j-][(t-map[i][j]+k)%k][])%;
f[i][j][t][]=(f[i][j][t][]+f[i-][j][(t+map[i][j]+k)%k][])%;
f[i][j][t][]=(f[i][j][t][]+f[i][j-][(t+map[i][j]+k)%k][])%;
}
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
ans=(ans+f[i][j][][])%;
cout<<ans;
}
【题解】洛谷P1373 小a和uim之大逃离(坐标DP)的更多相关文章
- 洛谷P1373 小a和uim之大逃离[背包DP]
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 洛谷 P1373 小a和uim之大逃离
2016-05-30 12:31:59 题目链接: P1373 小a和uim之大逃离 题目大意: 一个N*M的带权矩阵,以任意起点开始向右或者向下走,使得奇数步所得权值和与偶数步所得权值和关于K的余数 ...
- 洛谷P1373 小a和uim之大逃离
P1373 小a和uim之大逃离 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从 ...
- 洛谷 P1373 小a和uim之大逃离 Label:dp 不会
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 洛谷 P1373 小a和uim之大逃离 题解
每日一题 day30 打卡 Analysis f[i][j][p][q]表示他们走到(i,j),且两人魔瓶内魔液量的差为p时的方法数.q=0表示最后一步是小a走的,q=1表示最后一步是uim走的.题目 ...
- 洛谷P1373 小a和uim之大逃离 dp
正解:dp 解题报告: 传送门! 同样是看到列表发的题解就想着跟着做下dp的题目趴 然后发现还挺难的,,,反正我只大概想到怎么转移但是初始化什么的都不会TT 所以还是大概说下QAQ 首先可以想到设f[ ...
- 洛谷P1373 小a和uim之大逃离【线性dp】
题目:https://www.luogu.org/problemnew/show/P1373 题意: 有一个n*m的地图,每个点上有一个数值.两个人在任一点开始任一点结束,只能往右或往下走,轮流收集数 ...
- 洛谷 P1373 小a和uim之大逃离 (差值型dp总结)
这道题和多米诺骨牌那道题很像 ,都是涉及到差值的问题. 这道题是二维的,同时要取模. 这种题,因为当前的决策有后效性,会影响到差值,所以直接把 差值作为维度,然后计算答案的时候把差值为0的加起来就行了 ...
- 洛谷1373 小a和uim之大逃离
洛谷1373 小a和uim之大逃离 本题地址:http://www.luogu.org/problem/show?pid=1373 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
随机推荐
- libevent学习笔记 —— 牛刀小试:简易的服务器
回想起之前自己用纯c手动写epoll循环,libevent用起来还真是很快捷啊!重写了之前学习的时候的一个例子,分别用纯c与libevent来实现.嗯,为了方便对比一下,就一个文件写到黑了. 纯c版: ...
- PostgreSQL Metadata
http://www.devart.com/dotconnect/postgresql/docs/MetaData.html In this overload first parameter is ...
- UOJ169. 【UR #11】元旦老人与数列
传送门 考虑用 \(segment~tree~beats\) 那一套理论,维护区间最小值 \(mn\) 和严格次小值 \(se\) 那么可以直接 \(mlog^2n\) 维护前三个操作 考虑维护历史最 ...
- FlatBox-WordPress Responsive Flat Design Theme
FlatBox A beautifully FlatBox with different colors. You can upload your own logo & favicon, cus ...
- windows操作系统用命令提示符查看占用端口号的进程
在开发中有时我们需要确定哪个占用了8080端口,在windows命令行窗口下执行: 命令执行后打印出来的结果如下所示:
- webapi views目录下html文件无法访问
找到views下web.config 增加如下红色标注内容 <?xml version="1.0"?> <configuration> <config ...
- Bootstrap学习笔记(排版)
bootstrap简介: ☑ 简单灵活可用于架构流行的用户界面和交互接口的html.css.javascript工具集. ☑ 基于html5.css3的bootstrap,具有大量的诱人特性:友好 ...
- 当react 项目使用px2rem
参考资料:http://easywork.xin/2018/09/02/react-2/ 我拿到的设计图 是 375px //配置px2rem px2rem({remUnit: 37.5}) 在 ...
- 学习servlet心得
1,关于字符编码问题: // resp.setCharacterEncoding("UTF-8");//这个的作用仅仅只是输出字符,不做格式转换成HTML // resp.setC ...
- Angular js部分关键字的理解
模板:动态模板,是动态的,直接去处理DOM的,而不是通过处理字符串模版(静态模板) mvc:核心思想实现"数据管理-数据模型Model.应用逻辑-控制器Controller.数据表现-视图V ...