luogu1373_小a和uim之大逃离 多维dp
巧妙之处在于dp的设计只用设计差值即可,因此不会mle,枚举的顺序问题也解决了
#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for (int i = a; i <= b; ++i) const int N = ;
const long long Mo = ; int n, m, k, a[N][N], dp[N][N][][]; int main() {
scanf("%d%d%d", &n, &m, &k); ++k;
rep(i, , n) rep(j, , m) {
scanf("%d", &a[i][j]);
dp[i][j][a[i][j] % k][] = ;
} rep(i, , n) rep(j, , m) rep(p, , k) {
dp[i][j][p][] = (dp[i][j][p][] + dp[i - ][j][(p - a[i][j] + k) % k][]) % Mo;
dp[i][j][p][] = (dp[i][j][p][] + dp[i][j - ][(p - a[i][j] + k) % k][]) % Mo;
dp[i][j][p][] = (dp[i][j][p][] + dp[i - ][j][(p + a[i][j]) % k][]) % Mo;
dp[i][j][p][] = (dp[i][j][p][] + dp[i][j - ][(p + a[i][j]) % k][]) % Mo;
} long long ans = ;
rep(i, , n) rep(j, , m) {
ans = (ans + dp[i][j][][]) % Mo;
} printf("%lld\n", ans); return ;
}
luogu1373_小a和uim之大逃离 多维dp的更多相关文章
- P1373 小a和uim之大逃离 二维dp
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 洛谷 P1373 小a和uim之大逃离 Label:dp 不会
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 【题解】洛谷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 ...
- 洛谷P1373 小a和uim之大逃离【线性dp】
题目:https://www.luogu.org/problemnew/show/P1373 题意: 有一个n*m的地图,每个点上有一个数值.两个人在任一点开始任一点结束,只能往右或往下走,轮流收集数 ...
- 【题解】 P1373 小a和uim之大逃离
题解 P1373 小a和uim之大逃离 传送门 一道dp好题 乍看此题,感觉要这样设计: \(dp(x)(y)(mod_{a})(mod_{uim})(0/1)\) , 但是我上午考试就MLE了,赶紧 ...
- 洛古 P1373 小a和uim之大逃离
P1373 小a和uim之大逃离 题目提供者lzn 标签 动态规划 洛谷原创 难度 提高+/省选- 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电 ...
- 洛谷 P1373 小a和uim之大逃离
2016-05-30 12:31:59 题目链接: P1373 小a和uim之大逃离 题目大意: 一个N*M的带权矩阵,以任意起点开始向右或者向下走,使得奇数步所得权值和与偶数步所得权值和关于K的余数 ...
- 洛谷1373 小a和uim之大逃离
洛谷1373 小a和uim之大逃离 本题地址:http://www.luogu.org/problem/show?pid=1373 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
- 【Luogu1373】小a和uim之大逃离(动态规划)
[Luogu1373]小a和uim之大逃离(动态规划) 题面 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布 ...
随机推荐
- python 基础学习笔记(1)
声明: 本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...
- Atlassian In Action-Jira之指导思想(一)
太上,不知有之:其次,亲而誉之:其次,畏之:其次,侮之.信不足焉,有不信焉.悠兮,其贵言.功成事遂,百姓皆谓"我自然". --<道德经> 研发管理或者系统工具的指导思想 ...
- JavaWeb知识点
- oracle获取当天时间的最开始的时间和最结尾的时间
),,'yyyy-mm-dd')||' 23:59:59' from dual
- java高并发系列 - 第6天:线程的基本操作
新建线程 新建线程很简单.只需要使用new关键字创建一个线程对象,然后调用它的start()启动线程即可. Thread thread1 = new Thread1(); t1.start(); 那么 ...
- python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)
简介 前边几篇,已经教小伙伴们掌握了如何生成HTML的测试报告,那么生成测试报告,我们也不能放在那里不管了,这样即使你报告在漂亮,领导也看不到.因此如果想向领导汇报工作,不仅需要提供更直观的测试报告. ...
- Java底层技术系列文章-线程池框架
一.线程池结构图 二.示例 定义线程接口 public class MyThread extends Thread { @Override publicvoid run() { System.o ...
- C# ExcelAddIn 开发笔记
好久都没有写博客了,最近真的是太忙了,接手公司要做的一个小的新的项目,从接触认识到一个新东西,再到自己琢磨研究,最终结合公司业务把整个excel插件项目完成,还是有一点点成就感.以下是项目中基本上大致 ...
- 使用反射机制将对象序列化Json
一 思路 获取对象的Class对象. 获取对象的属性数组, 迭代属性数据拼接属性名与属性值, 存入List. 将List转换为流库, 再将流库使用逗号分隔符转换为字符串, 去掉首尾的逗号 二 代码 p ...
- 五分钟部署一套完整的Zabbix
Zabbix-安装与使用 安装NTP yum install -y ntp 配置ntp.conf cd /etc/ vim ntp.conf # 打开之后讲一下内容添加 server cn.ntp.o ...