当前位置: 首页 > news >正文

悬线法,dp 求解 P4147 玉蟾宫

 悬线法,dp 求解 P4147 玉蟾宫

//悬线法 动态规划 P4147 玉蟾宫
#include <iostream>
using namespace std;
const int N=1010;
int n, m, ans, h[N][N], l[N][N], r[N][N];
char a[1010][1010];
int main()
{cin >> n >> m;for(int i=1; i<=n; ++i){for(int j=1; j<=m; ++j){cin >> a[i][j];//从i 行 j 列向上能到达的高度if(a[i][j]=='F'){h[i][j]=1;}//从 i 行 j 列向左和向右能到达的列号l[i][j]=r[i][j]=j;}}for(int i=1; i<=n; ++i){//顺序 dpfor(int j=2; j<=m; ++j){if(a[i][j]=='F' && a[i][j-1]=='F'){l[i][j]=l[i][j-1];}}//倒序 dpfor(int j=m-1; j>=1; --j){if(a[i][j]=='F' && a[i][j+1]=='F'){r[i][j]=r[i][j+1];}}}for(int i=1; i<=n; ++i){for(int j=1; j<=m; ++j){if(a[i][j]=='F' && a[i-1][j]=='F'){h[i][j]=h[i-1][j]+1;//从 i 行 j 列向上的最长悬线,向左平移能到达的最远左边界l[i][j]=max(l[i][j], l[i-1][j]);//从 i 行 j 列向上的最长悬线,向右平移能到达的最远右边界r[i][j]=min(r[i][j], r[i-1][j]);}if(a[i][j]=='F'){ans=max(ans, h[i][j]*(r[i][j]-l[i][j]+1));// cout << ans << " " << i << " " << j << " " << h[i][j] << " " << l[i][j] << " " << r[i][j] << endl;}}}cout << ans*3 << endl;return 0;
}
/*
2 3
F R F
F F F*/

http://www.dtcms.com/a/407294.html

相关文章:

  • 网站建设 北京wordpress关闭站点
  • 云南建投第十建设有限公司网站商城网站开发哪家好
  • 移动固态硬盘插入电脑后提示“需要格式化”或“文件系统损坏”如何修复?
  • ErrorProne 详解
  • 理解 Elasticsearch 中的分块策略
  • 政务服务网站建设整改报告想建个购物网站
  • 网站建设中如何设置外链接网站开发在哪里接活
  • SpringCloud与微服务
  • 织梦网站统计代码app编写软件
  • Python 生成器generator的使用
  • STM32软件I2C读写AT24C64
  • valgrind与coredump调试
  • 建设网站 创建数据库如何评判一个网站建设的怎么样
  • 【ROS2】Intermediate - 单个进程中组合多个节点
  • Common Go Mistakes
  • 网站良精企业网站系统超级商城系统
  • C++ 数组、字符串详解与 C 的差异
  • 目前顶尖AI所用算法,包含的数学内容,详细列举
  • 北京网站制作公司有哪些做网站需要多少钱平邑
  • 网站开发环境vs2015是什么郑州博大泌尿外科医院
  • Android 网络 - NetworkCapabilities(NetworkCapabilities 概述、传输类型、网络能力、实例实操)
  • iOS 26 软件性能测试全流程,启动渲染资源压力对比与优化策略
  • 05-vue3+ts中axios的封装
  • 升阳广州做网站公司手游传奇发布网站999
  • 企业备案网站名称怎么填做网站策划需要什么技能
  • 智能体(Agent)的记忆架构:深入解析短期记忆与长期记忆
  • Tongweb708命令行脚本使用指引(by lqw)
  • python学智能算法(三十九)|使用PyTorch模块的normal()函数绘制正态分布函数图
  • wordpress the_content() 截取盐城网站优化推广服务
  • (6) tauri之前端框架性能对比