【题解】洛谷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来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
随机推荐
- .NET 垃圾回收浅解
在说明垃圾回收的实现机制之前,先说明一下垃圾回收存在的背景. 垃圾回收器(GC)是.NET平台中一个很重要的组成部分,.NET垃圾回收机制降低了编写程序的复杂程度,使程序员不用耗费精力去处理析构,成功 ...
- Web服务器学习总结(一):web服务器简介
一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...
- Django实现验证码
简单搞定生成验证码: 1.views.py from io import BytesIO import random from PIL import Image,ImageDraw,ImageFont ...
- iView开始结束时间组件
演示地址:https://run.iviewui.com/TGIKGkIt 测试页面文件: <template> <div> <startEndTime @newEndT ...
- 转:使用VS Code断点调试PHP
使用VS Code断点调试PHP vs code 使用一款杰出的轻量级代码编辑器,其中的插件工具不胜枚举而且还在不断增加.使用 vs code 调试 PHP 代码更是方便简洁,下面我们来一起看一下. ...
- android 获取http请求json数据
package com.my.gethttpjsondata; import java.io.BufferedReader;import java.io.ByteArrayOutputStream;i ...
- Intellij IDEA通过SVN导入基于Springboot的maven项目以及对已有项目做更新
一.导入外部maven项目 点击“+”,输入SVN地址并下载项目 弹出窗口,选择new window(自己觉得哪个好就选哪个) 等待执行完毕,执行完后会出现以下情况,就需要配置一下你的maven库了 ...
- Java Basis
java中.java源文件放在src文件夹下,.class文件放在bin文件夹下. java代码区域,以及控制台区域字体大小更改.Java->Java Editor Text Font ...
- Python爬虫教程-07-post介绍(百度翻译)(上)
Python爬虫教程-07-post介绍(百度翻译)(上) 访问网络两种方法 get: 利用参数给服务器传递信息 参数为dict,使用parse编码 post :(今天给大家介绍的post) 一般向服 ...
- CSS技巧教程:margin在IE中的表现
margin的位移方向是指margin数值为正值时候的情形,如果是负值则位移方向相反. 如上图所示:黄色子元素盒的margin-top,margin-left为负值时,如-10px,则黄色子元素盒向上 ...