题意:

别问我谁翻译的

虫合虫莫国的领土我们可以抽象为H*W的笼子,在这虫合土上,有若干个机器人和一个出口,其余都是空地,每次虫合虫莫会要求让所有的机器人向某个方向移动一步,当机器人移动到出口时会被虫合虫莫氵舌扌商出来,当机器人移出笼子时会自木木_火,求最多能取出多少个机器人

$H,W<=100$

题解:

暴力DP;

枚举子矩阵的左上角和右下角,$f[x][y][x_1][y_1]$表示走完$(x,y)~(x_1,y_1)$这个子矩形最多能扌商多少机器人,维护每行每列机器人数的前缀和,暴力转移即可,时间复杂度是$O(n^4)$,但是常数很小。

代码:

 #include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
short f[][][][];
int h,w,vx,vy,ans=,num[][],pre1[][],pre2[][];
char s[];
int main(){
scanf("%d%d",&h,&w);
for(int i=;i<=h;i++){
scanf("%s",s+);
for(int j=;j<=w;j++){
if(s[j]=='o'){
pre1[i][j]=pre2[i][j]=num[i][j]=;
}else if(s[j]=='E'){
vx=i,vy=j;
}
pre1[i][j]+=pre1[i][j-];
pre2[i][j]+=pre2[i-][j];
}
}
for(int i=vx;i;i--){
for(int j=vy;j;j--){
for(int k=vx;k<=h;k++){
for(int l=vy;l<=w;l++){
if(i>&&i+vx>k+)f[i-][j][k][l]=max((int)f[i-][j][k][l],(int)(f[i][j][k][l]+pre1[i-][min(l,w-vy+j)]-pre1[i-][max(j-,l-vy)]));
if(j>&&j+vy>l+)f[i][j-][k][l]=max((int)f[i][j-][k][l],(int)(f[i][j][k][l]+pre2[min(k,h-vx+i)][j-]-pre2[max(i-,k-vx)][j-]));
if(k<h&&vx+k<h+i)f[i][j][k+][l]=max((int)f[i][j][k+][l],(int)(f[i][j][k][l]+pre1[k+][min(l,w-vy+j)]-pre1[k+][max(j-,l-vy)]));
if(l<w&&vy+l<w+j)f[i][j][k][l+]=max((int)f[i][j][k][l+],(int)(f[i][j][k][l]+pre2[min(k,h-vx+i)][l+]-pre2[max(i-,k-vx)][l+]));
}
}
}
}
for(int i=vx;i;i--){
for(int j=vy;j;j--){
for(int k=vx;k<=h;k++){
for(int l=vy;l<=w;l++){
ans=max(ans,(int)f[i][j][k][l]);
}
}
}
}
printf("%d",ans);
return ;
}

[agc004d]salvage robot的更多相关文章

  1. NOIp模拟赛二十九

    又是受虐的一天呢~接下来四天都要打模拟赛QAQ 今日分数:0(100)+100+0=100 A题O(读入)结论题判断结果时没return 0被subtask卡成0分,喜提fstQAQ,B题DP,C题不 ...

  2. Robot Framework用户手册 (版本:3.0)

    版权信息:诺基亚网络和解决中心 本翻译尊重原协议,仅用于个人学习使用 1.开始: 1.1 介绍: Robot Framework是一个基于Python的,为终端测试和验收驱动开发(ATDD)的可扩展的 ...

  3. selenium webdriver 右键另存为下载文件(结合robot and autoIt)

    首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...

  4. RIDE -- Robot Framework setup

    RobotFramework 是一款基于python 的可以实现关键字驱动和数据驱动并能够生成比较漂亮的测试报告的一款测试框架 这里使用的环境是 python-2.7.10.amd64.msi RID ...

  5. [8.2] Robot in a Grid

    Imagine a robot sitting on the upper left corner of grid with r rows and c columns. The robot can on ...

  6. Robot Framework自动化测试 ---视频与教程免费分享

    当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的自由,所以讨厌这种“填表格”式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以 ...

  7. robot创建桌面图标(转载)

    桌面ride图标,安装之后会自动创建(偶尔也会创建失败),创建桌面图标方法如下: 1. 新建快捷方式 在桌面右击鼠标,弹出的菜单选择 新建-快捷方式 ,然后在"请键入对象"的位置输 ...

  8. Robot Framework 的安装和配置(转载)

    Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环 ...

  9. 解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题

    最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser.  ...

随机推荐

  1. 【XSY2892】【GDSOI2018】谁是冠军

    题目来源:noi2018模拟测试赛(二十三)T3 san 为什么noi模拟赛里会做到省选原题啊…… 题意: Description 有n个人,简单起见把他们编号为1到n,每个人有三项指标分别是攻击力, ...

  2. linux日常指令、概念

    指令 cal 查看日历date 查看日期bc 计算器ls 查看文件ls -l 查看具体信息(权限,时间等)ls -a 查看所有的文件包括隐藏文件ll 作用同上d* 开头的都是文件夹,- 开头的都是文件 ...

  3. Lapack下载安装

    安装 1.下载压缩文件 wget http://www.netlib.org/lapack/lapack-3.8.0.tar.gz 2.解压缩 tar -zxvf lapack-3.8.0.tar.g ...

  4. ubuntu12.04开启Framebuffer

    一.framebuffer概述 Framebuffer在Linux中是作为设备来实现的,它是对图形硬件的一种抽象,代表着显卡中的帧缓冲区(Framebuffer).通过Framebuffer设备,上层 ...

  5. 通过wget下载jdk

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...

  6. 阿里云Linux系统安装配置Tomcat方法

    本文将tomcat安装到了/alidata/server/目录下,当然也可以安装到其他目录. 1. 下载tomcat:#wget http://apache.fayea.com/tomcat/tomc ...

  7. eclipse 设置代码大小和布局里面代码大小

    Eclipse字体大小调整: Window /  Preferences / General / Appearance / ColorsAnd Fonts .在右边的对话框里选择Java – Java ...

  8. bzoj3262: 陌上花开(cdq分治+树状数组)

    3262: 陌上花开 题目:传送门 题解: %%%cdq分治 很强大的一个暴力...感觉比分块高级多了 这道题目就是一个十分经典的三维偏序的例题: 一维直接暴力排序x 二维用csq维护y 三维用树状数 ...

  9. What is the difference between Web Farm and Web Garden?

    https://www.codeproject.com/Articles/114910/What-is-the-difference-between-Web-Farm-and-Web-Ga Clien ...

  10. Recovering unassigned shards on elasticsearch 2.x——副本shard可以设置replica为0在设置回来

    Recovering unassigned shards on elasticsearch 2.x 摘自:https://z0z0.me/recovering-unassigned-shards-on ...