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来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布 ...
随机推荐
- 机器学习经典算法之EM
一.简介 EM 的英文是 Expectation Maximization,所以 EM 算法也叫最大期望算法. 我们先看一个简单的场景:假设你炒了一份菜,想要把它平均分到两个碟子里,该怎么分? 很少有 ...
- 并发编程-concurrent指南-阻塞队列BlockingQueue
阻塞队列BlockingQueue,java.util.concurrent下的BlockingQueue接口表示一个线程放入和提取实例的队列. 适用场景: BlockingQueue通常用于一个线程 ...
- Codeforces Gym100623J:Just Too Lucky(数位DP)
http://codeforces.com/gym/100623/attachments 题意:问1到n里面有多少个数满足:本身被其各个数位加起来的和整除.例如120 % 3 == 0,111 % 3 ...
- MyBatis 基础搭建及架构概述
目录 MyBatis 是什么? MyBatis 项目构建 MyBatis 整体架构 接口层 数据处理层 基础支持层 MyBatis 是什么? MyBatis是第一个支持自定义SQL.存储过程和高级映射 ...
- 未能加载文件或程序集“Seagull.BarTender.Print, Version=11.0.8.1, Culture=neutral, PublicKeyToken=109ff779a1b4cbc7
这2天项目上需要使用BarTender打印软件,使用BarTender的库的时候时候发现一个特别的问题: 未能加载文件或程序集“Seagull.BarTender.Print, Version=11. ...
- Flags Over Objects
The Flags Over Objects anti-pattern occurs when behavior is written outside of an object by inspecti ...
- Java实现异步调用
一.创建线程 @Test public void test0() throws Exception { System.out.println("main函数开始执行"); Thre ...
- 搭建Spring Initializr服务器
前言 按照网上很多教程,出错特别多.首先是GitHub和maven仓库的网络环境比较差,踩了很多坑:其次是SpringInitializr更新迭代几个版本,0.7.0我也没能弄成功.索性就用了旧版本0 ...
- 20131209-数据库导入导出数据-sqlhelper-第十七天
[1] 导出数据 namespace _05导出数据 { class Program { static void Main(string[] args) { string str = "Da ...
- 神经大条的我-->记录我那些容易忘记的知识点
1.springmvc中每次进来的request都是保存在ThreadLocal里的,所以不会存在线程问题.可以直接用@Autowired全局注入 参考地址:https://my.oschina.n ...