记忆化搜索

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<queue>
using namespace std; typedef long long LL; #define INF 0x7fffffff
#define N 710 int n,m;
int aa,bb,cc,dd; int xx[4]={0,0,1,-1},
yy[4]={1,-1,0,0}; int a[N][N],f[N][N]; char ch[2]; bool v[N][N];
int read()
{
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
void change(int x,int y,int val)
{
a[x][y]=val;
} void mark(int aa,int bb,int cc,int dd,bool f)
{
for (int i=aa;i<=bb;i++)
for (int j=cc;j<=dd;j++)
v[i][j]=f;
} int dfs(int x,int y)
{
if (v[x][y])
return -INF;
if (f[x][y]!=-1)
return f[x][y];
f[x][y]=1;
for (int i=0;i<4;i++)
{
int tx=x+xx[i],
ty=y+yy[i];
if (tx<1 || ty<1 || tx>n || ty>n)
continue;
if (a[x][y]>a[tx][ty])
f[x][y]=max(f[x][y],dfs(tx,ty)+1);
}
return f[x][y];
} int main()
{
scanf("%d",&n);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
scanf("%d",&a[i][j]);
scanf("%d",&m);
while (m--)
{
scanf("%s",ch);
if (ch[0]=='C')
{
scanf("%d%d%d",&aa,&bb,&cc);
change(aa,bb,cc);
}
if (ch[0]=='S')
{
scanf("%d%d%d%d",&aa,&cc,&bb,&dd);
mark(aa,bb,cc,dd,1);
}
if (ch[0]=='B')
{
scanf("%d%d%d%d",&aa,&cc,&bb,&dd);
mark(aa,bb,cc,dd,0);
}
if (ch[0]=='Q')
{
int maxn=0;
memset(f,-1,sizeof(f));
for (int j=1;j<=n;j++)
for (int k=1;k<=n;k++)
maxn=max(maxn,dfs(j,k));
printf("%d\n",maxn);
}
}
return 0;
}

  

【bzoj3208】花神的秒题计划Ⅰ的更多相关文章

  1. bzoj3208: 花神的秒题计划Ⅰ

    3208: 花神的秒题计划Ⅰ Time Limit: 16 Sec  Memory Limit: 128 MBSubmit: 323  Solved: 211[Submit][Status] Desc ...

  2. BZOJ3208:花神的秒题计划Ⅰ(记忆化搜索DP)

    Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题……   描述[discribe]: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区 ...

  3. 【记忆化搜索】bzoj3208 花神的秒题计划Ⅰ

    暴力 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #de ...

  4. bzoj 3208 花神的秒题计划I

    bzoj 3208 花神的秒题计划I Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪 ...

  5. BZOJ-3208|记忆化搜索-花神的秒题计划Ⅰ

    背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区的人员开发一个滑雪项目. 我 ...

  6. bzoj3208:花神的秒题计划I

    思路:因为Q.S.B操作总和不超过100,因此怎么暴力怎么写....当然记忆化搜索还是要的 #include<cstdio> #include<iostream> #inclu ...

  7. BZOJ 3208: 花神的秒题计划Ⅰ

    这就是一道滑雪嘛= = 所有操作都爆力,求路径就dp,完了 CODE: #include<cstdio>#include<iostream>#include<algori ...

  8. bzoj 前100题计划

    bzoj前100题计划 xz布置的巨大的坑.. 有空填题解... 1002 轮状病毒 用python手动matrixtree打表. #include<bits/stdc++.h> #def ...

  9. Codeforces刷题计划

    Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1 ...

随机推荐

  1. RestTemplate接收HashMap变为LinkedHashMap,RestTemplate接收数据后转成json数据出现反斜杠

    使用postForObject方法远程调用接口,正常会返回List<HashMap>,然而实际上却返回List<LinkedHashMap>,同时将此数据进行json转换,变成 ...

  2. 杀了个回马枪,还是说说position:sticky吧

    <style> article { max-width: 600px; margin: 1em auto; } article h4, article footer { position: ...

  3. oracle亲手安装过程

    适用于centos6 radhat6版本 1.检查依赖库: rpm -q binutils compat-libcap1 compat-libstdc++ compat-libstdc++.i686 ...

  4. js 技巧 (十)广告JS代码效果大全 【3】

    3.[允许关闭]     与前面两个代码不同的是,广告图下方增加了一个图片按纽,允许访客点击关闭广告图片,下面文本框中就是实现效果所需代码: var delta=0.015;     var coll ...

  5. linux目录文件操作

    一.linux系统目录结构 1.顶层根目录 顶层根目录使用 “/”来表示 2.linux中的一些重要目录 (1)bin目录 放置常用的可执行文件(其中ls命令位列其中) (2)sbin目录 放置系统的 ...

  6. input输入框的readonly属性-----http://www.w3school.com.cn/tags/tag_input.asp

    http://www.w3school.com.cn/tags/tag_input.asp input输入框的readonly属性 查询方法: 1.先找官方的文档,api 2.官方的有看不懂的再百度相 ...

  7. spark streaming基于Kafka的开发

    spark streaming使用Kafka数据源进行数据处理,本文侧重讲述实践使用. 一.基于receiver的方式 在使用receiver的时候,如果receiver和partition分配不当, ...

  8. DD & E-app

    DD & E-app 企业内部开发的E应用 前端 demo https://github.com/open-dingtalk docs https://open-doc.dingtalk.co ...

  9. 破损的键盘(codevs 4650)

    题目描述 Description 有一天,你需要打一份文件,但是你的键盘坏了,上面的"home"键和"end"键会时不时地按下,而你却毫不知情,甚至你都懒得打开 ...

  10. 在 Windows 10 64 下安装 Memcached,安装 PHP 7.0.22 的 Memcache 扩展

    1.之前写过一篇在 PHP 5.6.27 下的博客:http://www.shuijingwanwq.com/2017/09/11/1892/ ,此次是 PHP 7.0.22 下的,如图1 图1 2. ...