[题目链接]

https://www.lydsy.com/JudgeOnline/problem.php?id=4098

[算法]

显然 , 回文路径中第i个字母的位置(x , y)必然满足 : x + y - 1 = i

用f[i][j][k]表示现在在第i步 , 左上的横坐标为j , 右下的横坐标为k , 有多少种方案使得两边路径上的字母序列相同 , DP即可

时间复杂度 : O(N ^ 3)

滚动数组 , 将空间复杂度优化为O(N ^ 2)

[代码]

#include<bits/stdc++.h>
using namespace std;
#define MAXN 510
const int P = 1e9 + ; int n;
int f[][MAXN][MAXN];
char mp[MAXN][MAXN]; inline void update(int &x , int y)
{
x += y;
x %= P;
}
inline bool valid(int x , int y)
{
return x >= && x <= n && y >= && y <= n;
} int main()
{ scanf("%d",&n);
for (int i = ; i <= n; i++) scanf("%s",mp[i] + );
if (mp[][] == mp[n][n])
{
f[][][n] = ;
} else
{
printf("0\n");
return ;
}
for (int i = ; i <= n; i++)
{
int now = i & , nxt = now ^ ;
memset(f[nxt] , , sizeof(f[nxt]));
for (int x = ; x <= n; x++)
{
for (int y = ; y <= n; y++)
{
int t1 = i + - x , t2 = * n - y + - i;
if (!valid(x , t1) || !valid(y , t2)) continue;
if (!f[now][x][y]) continue;
if (valid(x , t1 + ))
{
if (valid(y , t2 - ) && mp[x][t1 + ] == mp[y][t2 - ])
update(f[nxt][x][y] , f[now][x][y]);
if (valid(y - , t2) && mp[x][t1 + ] == mp[y - ][t2])
update(f[nxt][x][y - ] , f[now][x][y]);
}
if (valid(x + , t1))
{
if (valid(y , t2 - ) && mp[x + ][t1] == mp[y][t2 - ])
update(f[nxt][x + ][y] , f[now][x][y]);
if (valid(y - , t2) && mp[x + ][t1] == mp[y - ][t2])
update(f[nxt][x + ][y - ] , f[now][x][y]);
}
}
}
}
int ans = ;
for (int i = ; i <= n; i++) update(ans , f[n & ][i][i]);
printf("%d\n" , ans); return ; }

[Usaco2015 OPEN] Palindromic Paths的更多相关文章

  1. [bzoj4098] [Usaco2015 Open]Palindromic Paths

    DP.. f[i][j][k]表示左上结束节点是第i条副对角线上的第j个点,右下结束节点是第n*2-i条副对角线上的第k个点,构成回文的方案数. i那维滚动一下.时间复杂度O(n^3)空间复杂度O(n ...

  2. [USACO15OPEN]回文的路径Palindromic Paths

    [USACO15OPEN]回文的路径Palindromic Paths 题目描述 Farmer John's farm is in the shape of an N \times NN×N grid ...

  3. TOJ 5020: Palindromic Paths

    5020: Palindromic Paths  Time Limit(Common/Java):10000MS/30000MS     Memory Limit:65536KByteTotal Su ...

  4. 题解 P3126 【[USACO15OPEN]回文的路径Palindromic Paths】

    P3126 [USACO15OPEN]回文的路径Palindromic Paths 看到这题题解不多,蒟蒻便想更加通俗易懂地分享一点自己的心得,欢迎大佬批评指正^_^ 像这种棋盘形的两边同时做的dp还 ...

  5. Educational Codeforces Round 89 (Rated for Div. 2) C Palindromic Paths

    题目链接:Palindromic Paths 题意: 给你一个n行m列的矩阵,这个矩阵被0或者1所填充,你需要从点(1,1)走到点(n,m).这个时候会有很多路径,每一条路径对应一个01串,你可以改变 ...

  6. [USACO15OPEN]回文的路径Palindromic Paths 2.0版

    题目描述 农夫FJ的农场是一个N*N的正方形矩阵(2\le N\le 5002≤N≤500),每一块用一个字母作标记.比如说: ABCD BXZX CDXB WCBA 某一天,FJ从农场的左上角走到右 ...

  7. Palindromic Paths(DP)

    描述 Given an N×N grid of fields (1≤N≤500), each labeled with a letter in the alphabet. For example: A ...

  8. Codeforces 1205C Palindromic Paths (交互题、DP)

    题目链接 http://codeforces.com/contest/1205/problem/C 题解 菜鸡永远做着变巨的梦 然而依然连div1BC题都不会做 要是那天去打cf怕是又要1题滚粗了.. ...

  9. CF1205C Palindromic Paths

    题目链接 问题分析 首先可以想到,坐标和为奇数的位置可以被唯一确定.同样的,如果假定\((1,2)\)是\(0\),那么坐标和为偶数的位置也可以被唯一确定.这样总共使用了\(n^2-3\)次询问. 那 ...

随机推荐

  1. 【MVC 2】MVC+EF框架结构实例:注册ID号验证

    导读:本篇博客,将通过一个实例,详细介绍MVC+EF的应用.原理性的东西或者说是进一步的解耦和,请看博客: [框架结构 3]MVC+EF实体框架-原理解析.在这里,仅用MVC框架和一个EF生成的Mod ...

  2. NYOJ-481平衡字符串

    平衡字符串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给你一定长度的字符串.字符串中只包含26个小写字母,首先我们把字母a-z分为2堆(a--m)和(n--z),判 ...

  3. Toad Oracle 本地/远程数据库导入/导出 数据库备份

    1. Toad进入数据库后,选择 Database ==> Export  ===>  Export Utility Wizard ,选择export  user(按用户导出),选择Toa ...

  4. Kibana 可视化监控报警插件 KAAE 的介绍与使用

    https://blog.csdn.net/phachon/article/details/53424631 https://blog.csdn.net/Dragon714/article/detai ...

  5. JAVA实现选择排序,插入排序,冒泡排序,以及两个有序数组的合并

    一直到大四才开始写自己的第一篇博客,说来实在有点羞愧.今天写了关于排序的算法题,有插入排序,冒泡排序,选择排序,以下贴上用JAVA实现的代码: public class test5 { public ...

  6. 第三方APP集成微信登陆功能详解

    授权后接口调用(UnionID) 通过code获取access_token 接口说明 通过code获取access_token的接口. 请求说明 http请求方式: GET https://api.w ...

  7. eclipse设置每次提交代码忽略target、.settings、.svn、.project文件

  8. 【algorithm】尾递归

    尾递归和一般的递归不同在对内存的占用,普通递归创建stack累积而后计算收缩,尾递归只会占用恒量的内存(和迭代一样).SICP中描述了一个内存占用曲线,用以上答案中的Python代码为例(普通递归): ...

  9. composer-安装插件包

    上一步完成后,选定国内镜像地址,以为下载插件包做准备 https://pkg.phpcomposer.com/ 安装完componser后使用下面这条命令即可(设置国内镜像地址): composer ...

  10. 熊猫猪新系统測试之二:Mac OS X 10.10 优胜美地

    在第一篇windows 10技术预览版測试之后.本猫为大家呈现还有一个刚刚才更新的mac操作系统:"优胜美地".苹果相同一改以猫科动物为代号命名的传统.在10.9的Maverick ...