【USACO 2015 Open Gold】Palindromic Paths 动态规划
来源:互联网 发布:苹果手机怎样更新淘宝 编辑:程序博客网 时间:2024/05/20 22:00
链接:
#include <stdio.h>int main(){ puts("转载请注明出处[vmurder]谢谢"); puts("网址:blog.csdn.net/vmurder/article/details/45222487");}
题意:
从
题解:
然后跑动态规划时
跑动态规划的顺序是
然后时间复杂度是
代码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 505#define mod 1000000007using namespace std;int n,f[2][N][N];char s[N][N];#define add(a,b) (a=(a+b)%mod)int main(){ int i,j,k,l; int a,b,x,y; scanf("%d",&n); for(i=1;i<=n;i++)scanf("%s",s[i]+1); if(s[1][1]!=s[n][n]) { puts("0"); return 0; } int now=1,last=0; f[now][0][0]=1; for(int h=0;h<n;h++) { now^=1,last^=1; memset(f[now],0,sizeof f[now]); for(i=0;i<=h;i++) { j=h-i,a=1+i,b=1+j; for(k=0;k<=h;k++) { l=h-k,x=n-l,y=n-k; if(s[a+1][b]==s[x-1][y])add(f[now][i+1][ k ],f[last][i][k]); if(s[a+1][b]==s[x][y-1])add(f[now][i+1][k+1],f[last][i][k]); if(s[a][b+1]==s[x-1][y])add(f[now][ i ][ k ],f[last][i][k]); if(s[a][b+1]==s[x][y-1])add(f[now][ i ][k+1],f[last][i][k]); } } } int ans=0; for(i=0;i<n;i++)add(ans,f[last][i][i]); cout<<ans<<endl; return 0;}
0 0
- 【USACO 2015 Open Gold】Palindromic Paths 动态规划
- 【USACO 2015 Open Gold】Palindromic Paths 回文路径
- bzoj 4098: [Usaco2015 Open]Palindromic Paths 动态规划
- BZOJ 4510|USACO 2016 Jan Gold|Ratio Contact|动态规划
- USACO 2015 US OPEN CONTEST,Gold Division Solution
- USACO 2009 Open Gold 2.Work Scheduling
- 【USACO 2011 Open Gold】修剪草坪(BSOI2940)
- POJ - 3265/USACO - Jan07 Gold Problem Solving 动态规划(DP) | 对USACO官方题解0ms程序的解释
- bzoj 4098 [Usaco2015 Open]Palindromic Paths
- bzoj4098 [Usaco2015 Open]Palindromic Paths dp
- 【动态规划】【USACO】Stamps
- 【动态规划】【USACO】Stringsobits
- UNIMODAL PALINDROMIC DECOMPOSITIONS 动态规划
- UVA11404 - Palindromic Subsequence - 动态规划
- UVA11404[Palindromic Subsequence] 动态规划
- 动态规划-647. Palindromic Substrings
- 647.Palindromic Substrings(动态规划)
- USACO 2011 Open Gold 1.Mowing the Lawn 修剪草坪
- PHP微信二维码开发HttpCode非200 V3版
- Xcode 6制作动态及静态Framework
- mysql 日期时间函数汇总
- Java I/O 学习笔记(8) 文件压缩
- 性能测试几个常用俗语
- 【USACO 2015 Open Gold】Palindromic Paths 动态规划
- 项目管理的几种差评
- Linux 源
- java.lang.NoSuchMethodError找不到方法,但是那个方法明明存在
- 【LeetCode】Rotate Array 旋转数组
- 查看数据库版本
- 理发店模型之性能测试
- sql的简单提高效率方法
- web报表工具FineReport的JS编辑框和URL地址栏语法简介