luogu 1373 小a和uim之大逃离 dp
有取模操作,所以直接维护模意义下的差即可.
Code:
#include <bits/stdc++.h>
#define M 16
#define N 801
#define ll long long
#define mod 1000000007
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int v[N][N];
int dp[N][N][M][2];
void add(int &a,int b)
{
ll c=(1ll*a+1ll*b+mod)%mod ;
a=(int)c;
}
int main()
{
int n,m,k,i,j;
// setIO("input");
scanf("%d%d%d",&n,&m,&k), ++k;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j) scanf("%d",&v[i][j]);
for(i=1;i<=n;++i)
for(j=1;j<=m;++j) dp[i][j][v[i][j]%k][0]=1;
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
{
for(int d=0;d<k;++d)
{
if(i-1>=1)
{
add(dp[i][j][d][0], dp[i-1][j][(d-v[i][j]+k)%k][1]);
add(dp[i][j][d][1], dp[i-1][j][(d+v[i][j])%k][0]);
}
if(j-1>=1)
{
add(dp[i][j][d][0], dp[i][j-1][(d-v[i][j]+k)%k][1]);
add(dp[i][j][d][1], dp[i][j-1][(d+v[i][j])%k][0]);
}
}
}
}
int ans=0;
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
add(ans, dp[i][j][0][1]);
}
printf("%d\n",ans);
return 0;
}
luogu 1373 小a和uim之大逃离 dp的更多相关文章
- 洛谷1373 小a和uim之大逃离
洛谷1373 小a和uim之大逃离 本题地址:http://www.luogu.org/problem/show?pid=1373 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
- luogu- P1373 小a和uim之大逃离 DP 四维,其中一维记录差值
P1373 小a和uim之大逃离: https://www.luogu.org/problemnew/show/P1373 题意: 在一个矩阵中,小A和小B轮流取数,小A可以从任意点先取,小B后取,最 ...
- luogu P3818 小A和uim之大逃离 II
题目背景 话说上回……还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险.突然一阵南风吹来,一片乌云从南部天边急涌过来 ...
- 【luogu P1373 小a和uim之大逃离】 题解
题目链接:https://www.luogu.org/problemnew/show/P1373 想不出来状态 看了一眼题解状态明白了 dp[i][j][h][1/0] 表示在i,j点差值为h是小A还 ...
- luogu P1373 小a和uim之大逃离
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 洛谷1373小a和uim之大逃离
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- Luogu P1373 小a和uim之大逃离【dp】By cellur925
题目传送门 $50pts$:容易设计出状态$f[i][j][l][r][st]$表示当前的这个人在($i$,$j$),小a和uim魔瓶中的含量分别为$l$,$r$,当$st=0$表明现在是小a在吃,当 ...
- 洛谷 1373 小a和uim之大逃离
/* 很容易想到f[i][j][k][l][01] 表示到ij点 两个人得分为kl 01表示这一步谁走的 因为起点不同 路径不同 所以要枚举起点.. 时间复杂度 O(nmk*nmk) 空间复杂度 O( ...
- 洛谷P1373 小a和uim之大逃离 dp
正解:dp 解题报告: 传送门! 同样是看到列表发的题解就想着跟着做下dp的题目趴 然后发现还挺难的,,,反正我只大概想到怎么转移但是初始化什么的都不会TT 所以还是大概说下QAQ 首先可以想到设f[ ...
随机推荐
- SSM+pagehelper分页
1.maven依赖 <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId> ...
- JVM学习(一)Java虚拟机运行时数据区域
一.Java内存区域 1.运行时数据区域 根据<Java 虚拟机规范(Java SE 7 版)>规定,Java 虚拟机所管理的内存包括以下几个运行时数据区域: 1.1 程序计数器 程序计数 ...
- MySQL 子查询(一)
源自MySQL 5.7 官方手册 13.2.10 Subquery Syntax 〇.MySQL子查询介绍 子查询指的是嵌套在某个语句中的SELECT语句. MySQL支持标准SQL所要求的所有子查询 ...
- volatile 关键字(修饰变量)
目录 volatile 关键字(修饰变量) 1. 含义 2. 作用 3. 如何保证可见性 4. 如何禁止指令重排序优化 5. volatile 是不安全的 6. volatile 不适用场景 vola ...
- 怎样获取页面中所有带href属性的标签集合
使用: document.links document.links instanceof HTMLCollection; 注意: 1. a 标签和 area 标签可以设置 href属性, 因此可以被获 ...
- chartjs显示数值标签插件:chartjs-plugin-datalabels
Getting Started #Installation #npm npm install chartjs-plugin-datalabels --save This plugin can al ...
- xcode 把项目代码提交到远程SVN服务器
环境 xcode 7 Mac air xcode默认支持GIT源码管理工具,但现在想把代码提交到已有到SVN服务器上,步骤如下: 1,在safari中打开svn链接地址,信任证书,输入用户名密码 , ...
- css3控制字体动态变换颜色
css3控制字体动态变换颜色 <!doctype html> <html> <head> <meta charset="utf-8"> ...
- case when语法
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数: CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- oracle解锁oracle默认用户scott
oracle中存在一个默认的用户scott,密码为tiger,当在安装oracle时,若未给该账户解锁,则登录该用户时, 会提示被锁定. 如何通过sqlplus命令为scott解锁: 1.C:> ...