题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5617

官方题解:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;const int inf = 0x3f3f3f3f;
const int mod = 5201314;
int n,dp[2][505][505];
char Map[505][505];void add(int &x,int y)
{x += y;if(x >= mod) x -= mod;
}int main()
{int t;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i = 1;i <= n;i++)scanf("%s",Map[i]+1);int p = 0;memset(dp[p],0,sizeof(dp[p]));dp[p][1][n] = Map[1][1] == Map[n][n];for(int i=1;i<n;i++){memset(dp[!p],0,sizeof(dp[!p]));for(int x1 = 1;x1 <= i + 1; x1++){for(int x2 = n; x2 >= n - i; x2--){int y1 = i + 2 - x1;int y2 = 2 * n - i - x2;if(Map[x1][y1] != Map[x2][y2]) continue;add(dp[!p][x1][x2],dp[p][x1][x2]);add(dp[!p][x1][x2],dp[p][x1][x2+1]);add(dp[!p][x1][x2],dp[p][x1-1][x2+1]);add(dp[!p][x1][x2],dp[p][x1-1][x2]);}}p ^= 1;}int ans = 0;for(int i = 1; i <= n; i++)add(ans,dp[p][i][i]);printf("%d\n",ans);}return 0;
}

hdu 5617 Jam's maze(双线程dp)相关推荐

  1. HDU 5617 Jam's maze dp+滚动数组

    题目链接: hdu: http://acm.hdu.edu.cn/showproblem.php?pid=5617 bc(中文): http://bestcoder.hdu.edu.cn/contes ...

  2. nyoj 61(双线程dp)

    题目描述: 在一个矩阵内找出两条从1,1到m,n的路径(一条从1,1 到 m,n 一条 从m,n到1,1),并且路径之上的权值之和最大. 解题思路:这道题目如果是想从(1,1)->(n,m),再 ...

  3. [蓝桥杯][算法训练VIP]方格取数(双线程dp)

    题目描述 设有N * N的方格图(N< =10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0. 某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下 ...

  4. sdnu oj 1194 传纸条 双线程DP

    从左上角到右下角一条+从右下角到左上角一条 ==从左上角到右下角两条 2333 #include <iostream> #include <vector> #include & ...

  5. nyoj 61 传纸条(一)双线程DP

    传纸条(一) 时间限制: 2000 ms  |  内存限制: 65535 KB 难度: 5 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m ...

  6. 多线程生成随机数组+双线程归并排序(C++实现)

    算法概述 动态数组生成 多线程随机数组生成 双线程归并排序 代码 #include <iostream> #include <thread> #include <ctim ...

  7. 双线程猜数字 TwoThreadGuessNumber.java

    双线程猜数字 TwoThreadGuessNumber.java public class TwoThreadGuessNumber {public static void main(String a ...

  8. 秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据

    本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5136035 转载请标明出处,原文地址:http://blog.csdn.net/mo ...

  9. 微信小程序开发01 双线程模型:为什么小程序不用浏览器的线程模型?

    你好,我是俊鹏,今天是第一节课,我想和你聊一聊微信小程序表层知识中的双线程模型.主要探讨一下它的技术背景.线程间的分工和通信模式. 在工作以及一些技术分享中,我经常被人问到这样一个问题:"微 ...

最新文章

  1. 用c语言实现的几个小项目
  2. Redis开发运维实践问题处理只内存检查
  3. 上千个电脑文件怎么搬?用Python一键复制移动
  4. 对正在运行的mysql进行监控
  5. next按钮源码android,Android Edittext 软键盘输入法回车键改成下一步Next
  6. 目标检测论文阅读:Multi-scale Location-aware Kernel Representation for Object Detection(CVPR2018)
  7. 在Windows上build Spark
  8. php忘记密码啦怎么办,后台账号密码忘记了怎么办.
  9. oracle中ak约束,Oracle自定义聚集函数
  10. python 随机颜色
  11. CCNA学习指南 第五章 下载
  12. 本科毕业查重过程分享与经验
  13. asp.net中英文转换
  14. 3d3s9.0硬件复制狗
  15. 深圳市威视爱普手术示教系统
  16. 大数相减(解析国密sm2_bn_sub算法与自定义算法)
  17. linux ip route 命令详细解释
  18. excel组合汇总_Excel汇总20140224
  19. 抱怨一下项立刚先生和他的飞象网的博客
  20. Qlikview---数据类型

热门文章

  1. 桑文锋的数据“长征”
  2. 百果园付凌峰:线上单月 1.2 亿背后的数据化运营
  3. 简单配置基于桥接,RIP,NAT,PAT的网络拓扑
  4. 如何使用Java代码给图片增加倒影效果
  5. String StringBuilder StringBuffer 对比 总结得非常好
  6. DebootstrapChroot
  7. Emerged strategy 涌现战略
  8. ways to talk with girls
  9. gscatter in matlab Scatter plot by group machine learning and statics tool box required
  10. ads in shanghai