【bzoj3208】花神的秒题计划Ⅰ
记忆化搜索
#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】花神的秒题计划Ⅰ的更多相关文章
- bzoj3208: 花神的秒题计划Ⅰ
3208: 花神的秒题计划Ⅰ Time Limit: 16 Sec Memory Limit: 128 MBSubmit: 323 Solved: 211[Submit][Status] Desc ...
- BZOJ3208:花神的秒题计划Ⅰ(记忆化搜索DP)
Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题…… 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区 ...
- 【记忆化搜索】bzoj3208 花神的秒题计划Ⅰ
暴力 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #de ...
- bzoj 3208 花神的秒题计划I
bzoj 3208 花神的秒题计划I Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪 ...
- BZOJ-3208|记忆化搜索-花神的秒题计划Ⅰ
背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区的人员开发一个滑雪项目. 我 ...
- bzoj3208:花神的秒题计划I
思路:因为Q.S.B操作总和不超过100,因此怎么暴力怎么写....当然记忆化搜索还是要的 #include<cstdio> #include<iostream> #inclu ...
- BZOJ 3208: 花神的秒题计划Ⅰ
这就是一道滑雪嘛= = 所有操作都爆力,求路径就dp,完了 CODE: #include<cstdio>#include<iostream>#include<algori ...
- bzoj 前100题计划
bzoj前100题计划 xz布置的巨大的坑.. 有空填题解... 1002 轮状病毒 用python手动matrixtree打表. #include<bits/stdc++.h> #def ...
- Codeforces刷题计划
Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1 ...
随机推荐
- python3中shuffle函数
1. shuffle函数与其他函数不一样的地方 shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能 请看下面的坑 ...
- 获取本地验证码cookie
window.document.onkeydown = function (evt) { evt = (evt) ? evt : window.event; if (evt.keyCode) { if ...
- HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"&g ...
- 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
如何优雅的使用vue+Dcloud(Hbuild)开发混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不过在开发过程中有一点不爽的是,如果想使用Dcloud提供的 ...
- day21 04 三级菜单
day21 04 三级菜单 1.使用递归调用的方法 整体代码类型比较简单如下: menu={'北京':{'海淀':{'a':{},'h':{},'c':{}},'昌平':{'沙河':{},'天通苑': ...
- 窗口类WNDCLASSEX名词解析
窗口类WNDCLASSEX名词解析 typedef struct tagWNDCLASSEX{ UINT cbsize; UINT style; WNDPROC lpfnWNDProc; int cb ...
- Vue如何mock数据模拟Ajax请求
我们在做一个项目时前期可能没有后端提供接口模拟数据,那么作为前端就需要自己写json文件模拟数据加载.网上往往参考的都是不全面的,比如get请求没问题但是post请求就报错了.在Vue中只需要vue- ...
- 笔记——python语言规范
Lint 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less dynamic)语言, 这些bug ...
- [HDU2136] Largest prime factor(素数筛)
传送门 题意 给出若干个数n(n<=1000000),求每个n的最大质因子的排名. 质数的排名:如果素数p是第k小的素数,那么p的排名就是k. 思路 乍一看不知道怎么搞. 其实可以想想我们怎么筛 ...
- Codeforces 631B Print Check【模拟】
题意: 按顺序给定列和行进行涂色,输出最终得到的方格颜色分布. 分析: 记录下涂的次序,如果某个元素的横和列都被涂过,那么就选择次序最大的颜色. 代码: #include<iostream> ...