hdu 5617 Jam's maze(双线程dp)
题目链接: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)相关推荐
- HDU 5617 Jam's maze dp+滚动数组
题目链接: hdu: http://acm.hdu.edu.cn/showproblem.php?pid=5617 bc(中文): http://bestcoder.hdu.edu.cn/contes ...
- nyoj 61(双线程dp)
题目描述: 在一个矩阵内找出两条从1,1到m,n的路径(一条从1,1 到 m,n 一条 从m,n到1,1),并且路径之上的权值之和最大. 解题思路:这道题目如果是想从(1,1)->(n,m),再 ...
- [蓝桥杯][算法训练VIP]方格取数(双线程dp)
题目描述 设有N * N的方格图(N< =10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0. 某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下 ...
- sdnu oj 1194 传纸条 双线程DP
从左上角到右下角一条+从右下角到左上角一条 ==从左上角到右下角两条 2333 #include <iostream> #include <vector> #include & ...
- nyoj 61 传纸条(一)双线程DP
传纸条(一) 时间限制: 2000 ms | 内存限制: 65535 KB 难度: 5 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m ...
- 多线程生成随机数组+双线程归并排序(C++实现)
算法概述 动态数组生成 多线程随机数组生成 双线程归并排序 代码 #include <iostream> #include <thread> #include <ctim ...
- 双线程猜数字 TwoThreadGuessNumber.java
双线程猜数字 TwoThreadGuessNumber.java public class TwoThreadGuessNumber {public static void main(String a ...
- 秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据
本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5136035 转载请标明出处,原文地址:http://blog.csdn.net/mo ...
- 微信小程序开发01 双线程模型:为什么小程序不用浏览器的线程模型?
你好,我是俊鹏,今天是第一节课,我想和你聊一聊微信小程序表层知识中的双线程模型.主要探讨一下它的技术背景.线程间的分工和通信模式. 在工作以及一些技术分享中,我经常被人问到这样一个问题:"微 ...
最新文章
- 用c语言实现的几个小项目
- Redis开发运维实践问题处理只内存检查
- 上千个电脑文件怎么搬?用Python一键复制移动
- 对正在运行的mysql进行监控
- next按钮源码android,Android Edittext 软键盘输入法回车键改成下一步Next
- 目标检测论文阅读:Multi-scale Location-aware Kernel Representation for Object Detection(CVPR2018)
- 在Windows上build Spark
- php忘记密码啦怎么办,后台账号密码忘记了怎么办.
- oracle中ak约束,Oracle自定义聚集函数
- python 随机颜色
- CCNA学习指南 第五章 下载
- 本科毕业查重过程分享与经验
- asp.net中英文转换
- 3d3s9.0硬件复制狗
- 深圳市威视爱普手术示教系统
- 大数相减(解析国密sm2_bn_sub算法与自定义算法)
- linux ip route 命令详细解释
- excel组合汇总_Excel汇总20140224
- 抱怨一下项立刚先生和他的飞象网的博客
- Qlikview---数据类型
热门文章
- 桑文锋的数据“长征”
- 百果园付凌峰:线上单月 1.2 亿背后的数据化运营
- 简单配置基于桥接,RIP,NAT,PAT的网络拓扑
- 如何使用Java代码给图片增加倒影效果
- String StringBuilder StringBuffer 对比 总结得非常好
- DebootstrapChroot
- Emerged strategy 涌现战略
- ways to talk with girls
- gscatter in matlab Scatter plot by group machine learning and statics tool box required
- ads in shanghai