POJ 3616 Milking Time (字符串DP)
2024-10-14 09:53:05
题意:找元素关于对角线左或右对称的最大矩阵
思路:左右对角线只需要遍历一条就可以了。只要当前点往上遍历和往后遍历一样就可以。
#include<iostream>
#include<string>
#include<algorithm>
#include<cstdlib>
#include<cstdio>
#include<set>
#include<map>
#include<vector>
#include<cstring>
#include<stack>
#include<cmath>
#include<queue>
#define clc(a,b) memset(a,b,sizeof(a))
#include <bits/stdc++.h>
using namespace std;
#define LL long long
const int maxn = ;
const int inf=0x3f3f3f3f;
const double pi=acos(-);
char str[][];
int ans;
int dp[][]; void fun(int x,int y)
{
int num=dp[x-][y-];
int i;
for(i=; i<=num; i++)
{
if(str[x-i][y]!=str[x][y-i])
break;
}
if(i>num)
dp[x][y]=dp[x-][y-]+;//转移方程
else
dp[x][y]=i;
if(ans<dp[x][y])
ans=dp[x][y];
} int main()
{
int n;
while(scanf("%d",&n),n)
{
ans=;
memset(dp,,sizeof(dp));
for(int i=n; i>=; i--)
scanf("%s",&str[i][]);
for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
{
fun(i,j);
}
}
printf("%d\n",ans);
}
return ;
}
最新文章
- 深入浅出Hyper-V网络虚拟化技术
- Ajax请求成功,进入error回掉函数
- dp与px转换
- 配置tomcat解压版
- linux初始化配置-----网络配置
- 第八章 标准IO库
- redis补充和rabbitmq讲解
- NLP学习资源
- 【缓存】利用Cache防止同一帐号重复登录
- css笔记:如何将一个页面平均分成四个部分?
- IdentityServer4 实现自定义 GrantType 授权模式
- PyMySQL模块的使用
- mysql中replace替换字符串更改方法
- FICO-初级会计学
- LINUX服务器搭建和常用配置介绍
- urllib的实现---请求响应and请求头处理
- docker-compose.yml(2)
- 移动 Ubuntu16.04 桌面左侧任务栏到屏幕底部
- 在caffe-ssd的环境搭建中遇到报错信息:Makefile:588: recipe for target &#39;.build_release/cuda/src/caffe/layers/softmax_loss_layer.o&#39; failed
- hihocoder1636 Pangu and Stones(区间DP(石子合并变形))