【题解】洛谷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来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
随机推荐
- javascript 理解继承
一.继承-通过原型实现继承 function Father() { this.FatherSkin = "yellow"; }; Father.prototype.getFathe ...
- MvcForum作者称该项目进入缓慢更新
MvcForum作者在github上发表 This project is no longer actively developed as I don't have the time. As and w ...
- python 类方法的互相调用及self的含义
每次调用内部的方法时,方法前面加 self. class MyClass: def __init__(self): pass def func1(self): # do something pri ...
- C#调用SQlite常见问题汇总
最近在做SQLite开发,开发环境是VS2010+ SQLite Ado.Net data Provider.这套Data Provider程序是基于System.Data.SQLite 1.0.66 ...
- Activiti实现会签功能
一个任务需要多个角色进行审批或者表决,根据这些审批结果来决定流程的走向.实现以上任务,activiti已经提供了支持,可以使用BPMN规范的多实例活动来实现. 1.Activiti多实例: 多实例节点 ...
- 压力测试Jmeter+badboy
压力测试Jmeter+badboy 前言:很多人都想学习压力测试,但是一开始手动写脚本着实蛋疼,所以今天我教大家的是利用badboy来录制压测脚本,然后用Jmeter来做压力测试. 流程:badboy ...
- MyBatis学习笔记(一)
测试Demo的目录结构: com.luohao.config ->MyBatisCongfig.xml ->userMapper.xml com.luohao.Test ->Test ...
- 毕向东_Java基础视频教程第20天_IO流(7~10)
第20天-07-IO流(递归) package bxd; import java.io.File; public class FileDemo3 { // 非递归打印 public static vo ...
- SSH 无法启动的原因分析及解决方法
简介 Secure Shell(缩写为 SSH),由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为一项创建在应用层和传输层基础上的安全协议,为计算机上的 S ...
- Sqlite EF6注册
在EF6使用Sqlite的时候.Sqlite需要安装sqlite-netFx40-setup-bundle-x64-2010-1.0.97.0.exe.我不想在项目发布的时候,安装的时候执行该程序,于 ...