P4888 三去矩阵

给出一个字符矩阵, 多次询问求以 \((x, y)\) 为中心的最长回文串长度(即横竖两种)

\(l, q <= 2000\)

Solution

数据范围小直接模拟即可

Code

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
#include<climits>
#define LL long long
using namespace std;
int RD(){
int out = 0,flag = 1;char c = getchar();
while(c < '0' || c >'9'){if(c == '-')flag = -1;c = getchar();}
while(c >= '0' && c <= '9'){out = out * 10 + c - '0';c = getchar();}
return flag * out;
}
const int maxn = 4019;
int len, na;
char map[maxn][maxn];
int get_max(int x, int y){
int ans = -1, lenth = 1;
while(x + lenth <= len && x - lenth >= 1){
if(map[x + lenth][y] == map[x - lenth][y])lenth++;
else break;
}
ans = lenth, lenth = 1;
while(y + lenth <= len && y - lenth >= 1){
if(map[x][y + lenth] == map[x][y - lenth])lenth++;
else break;
}
ans = max(ans, lenth);
return 2 * ans - 1;
}
int main(){
len = RD(), na = RD();
for(int i = 1;i <= len;i++)for(int j = 1;j <= len;j++)cin>>map[i][j];
for(int i = 1;i <= na;i++){
int x = RD(), y = RD();
printf("%d\n", get_max(x, y));
}
return 0;
}

最新文章

  1. GitHub 实现多人协同提交代码并且权限分组管理
  2. Mini ORM——PetaPoco笔记
  3. 进军Linux
  4. 2.Mybatis入门程序(单表的增删改成)
  5. “FAIL - Deployed application at context path but context failed to start”错误的解决
  6. SAP ECC FI配置文档
  7. java.io.FileNotFoundException:SESSIONS.ser (系统找不到指定的路径。)
  8. iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewCon[转]
  9. 在EF的code frist下写稳健的权限管理系统:开篇(一)
  10. Linux命令-yum
  11. bzoj1834: [ZJOI2010]network 网络扩容
  12. MongoDB 聚合
  13. Attempt to invoke interface method &#39;boolean java.util.List.add(java.lang.Object)&#39; on a null object reference
  14. JavaScript对json操作小记
  15. maven源码打包
  16. 关于在Python3.6下安装MySQL-python,flask-sqlalchemy模块的问题
  17. 如何优化Docker储存
  18. laravel打印sql
  19. Yii GridView
  20. SPA页面初试

热门文章

  1. Aspose.words Java基于模板生成word之循环图片
  2. 2-Seventh Scrum Meeting20151207
  3. Daily scrum 2015.10.19
  4. 实验三 敏捷开发与XP实践 实验报告 20135232王玥
  5. 20162316刘诚昊 Java Queue的测试
  6. 给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数。
  7. binding(转)
  8. C51中的关键字data,idata,xdata,pdata,bdata
  9. .NET 类库研究必备参考 添加微软企业库源码
  10. json对象与json字符串的区别