题意:找元素关于对角线左或右对称的最大矩阵

思路:左右对角线只需要遍历一条就可以了。只要当前点往上遍历和往后遍历一样就可以。

 1 #include<iostream>
 2 #include<string>
 3 #include<algorithm>
 4 #include<cstdlib>
 5 #include<cstdio>
 6 #include<set>
 7 #include<map>
 8 #include<vector>
 9 #include<cstring>
10 #include<stack>
11 #include<cmath>
12 #include<queue>
13 #define clc(a,b) memset(a,b,sizeof(a))
14 #include <bits/stdc++.h>
15 using namespace std;
16 #define LL long long
17 const int maxn = 20005;
18 const int inf=0x3f3f3f3f;
19 const double pi=acos(-1);
20 char str[1010][1010];
21 int ans;
22 int dp[1010][1010];
23
24 void fun(int x,int y)
25 {
26     int num=dp[x-1][y-1];
27     int i;
28     for(i=1; i<=num; i++)
29     {
30         if(str[x-i][y]!=str[x][y-i])
31             break;
32     }
33     if(i>num)
34         dp[x][y]=dp[x-1][y-1]+1;//转移方程
35     else
36         dp[x][y]=i;
37     if(ans<dp[x][y])
38         ans=dp[x][y];
39 }
40
41 int main()
42 {
43     int n;
44     while(scanf("%d",&n),n)
45     {
46         ans=0;
47         memset(dp,0,sizeof(dp));
48         for(int i=n; i>=1; i--)
49             scanf("%s",&str[i][1]);
50         for(int i=1; i<=n; i++)
51         {
52             for(int j=1; j<=n; j++)
53             {
54                 fun(i,j);
55             }
56         }
57         printf("%d\n",ans);
58     }
59     return 0;
60 }

View Code

转载于:https://www.cnblogs.com/ITUPC/p/5296826.html

POJ 3616 Milking Time (字符串DP)相关推荐

  1. POJ 3616 Milking Time

    解题思路: dp[i]:选择第i个区间获得最大值 1.只在第i个区间取奶 dp[i]=node[i].val; 2.如果能在前面已经取奶的后面接着取奶 node[j].ed+R<=node[i] ...

  2. 动态规划训练22 [Milking Time POJ - 3616 ]

    Milking Time POJ - 3616 说实话这道题目非常简单,本质上就是 多段有向图的求最大值问题.稍微变化的地方在于这个的的有向边没有那么明显 ,而是需要自己去寻找 如果任务i到任务j之间 ...

  3. 魔法串 HDU - 4545(字符串dp)

    小明和他的好朋友小西在玩一个新的游戏,由小西给出一个由小写字母构成的字符串,小明给出另一个比小西更长的字符串,也由小写字母组成,如果能通过魔法转换使小明的串和小西的变成同一个,那么他们两个人都会很开心 ...

  4. [OI]字符串DP小结

    顾名又思义,是在字符串上进行的DP操作.因为字符串本身可以看作是一个序列,所以有些时候字符串DP可以用区间DP来解决. P2246 SAC#1 - Hello World(升级版) 题目描述 在讲义的 ...

  5. java字符串匹配dp_[OI]字符串DP小结

    顾名又思义,是在字符串上进行的DP操作.因为字符串本身可以看作是一个序列,所以有些时候字符串DP可以用区间DP来解决. P2246 SAC#1 - Hello World(升级版) 题目描述 在讲义的 ...

  6. [BZOJ2121]-字符串游戏-字符串dp

    说在前面 觉得字符串dp都很神 题目 BZOJ2121传送门 看题可戳传送门 解法 首先me是看了dp定义才会做这道题的 这题-.me貌似写不出来思维过程,只能把做法说一说了,可能相关题目做多了之后会 ...

  7. J - Milking Time POJ - 3616(dp动态规划)

    Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that sh ...

  8. 【POJ - 3616】Milking Time (贪心+dp)

    题干: Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity tha ...

  9. poj 3616(简单dp)

    题意:你有一头奶牛,你能够在一定的时间里挤奶.而且挤奶量也不同,每次挤奶要休息r时间,问你最大可以挤多少奶. 解题思路:这道题就是单调递增子序列的模型,dp[i]表示前i个任务可以得到的最优值.两层循 ...

最新文章

  1. 网络新手ip隐藏器_动态IP代理的用途
  2. python好用-Python里三个好用的调试神器
  3. 新手学JAVA(四)----装箱与拆箱
  4. 从range和xrange的性能对比到yield关键字(中)
  5. 如何取得用户参数文件中的parameters
  6. Symbian S60 Carbide.c++ v2.3开发环境搭建
  7. ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
  8. 如何通过命令终端访问本地/局域网/远程的MySQL数据库_访问数据库_连接数据库_登录数据库
  9. 原因及解决办法:error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file
  10. 对计算机病毒防治最科学的方法是什么,常见的计算机病毒防治措施有什么
  11. 拼多多砍价小程序源码/流量主系列微信小程序源码
  12. 天正电气图例_天正电气设计施工图中常用线路敷设方式
  13. HSC-1th 2022 48h大赛 write-up
  14. docker安装踩坑
  15. java抠图片文字或签名
  16. OSWorkflow(转载)
  17. js 身份证号隐藏中间数字
  18. iPhone突然掉电快是什么情况,该如何解决?
  19. 苹果 Mac Big Sur 如何更改锁屏时间?
  20. 刷脸支付条赛道上支付宝遥遥领先

热门文章

  1. php中money用什么显示,如何使用PHP将十进制数转换为单词(money格式)?
  2. android图片混淆还原,图片混淆还原1.2版本
  3. 【数据安全案例】花旗集团承认遭受数据安全泄露
  4. 官网消息【iPlayer外挂字幕】功能开发中!有图
  5. linux grub内核选择,UBUNTU GRUB没有内核选项,怎么回事啊?
  6. 2017年高考改革地区:浙江、上海
  7. WAMP安装curl扩展并发起https请求
  8. cocos2dx之Http网络编程(一)——网络请求的发送和接收
  9. C#图片处理之:Gamma校正
  10. pythonic风格_【Python】性能优化之Pythonic风格化代码