博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[bzoj3208]花神的秒题计划I
阅读量:5302 次
发布时间:2019-06-14

本文共 1853 字,大约阅读时间需要 6 分钟。

滑雪那道题变了一下,结果就跑到bzoj里面了

这数据范围也是感人。。

直接记忆化搜索,对于改变的值直接修改就可以了

在字符读入的时候卡了半天QAQ,还是需要用字符数组,毕竟它遇到空格就停下

1 #include
2 #include
3 #include
4 using namespace std; 5 int num[705][705],f[705][705]; 6 bool available[705][705]; 7 int n,m; 8 int fx[4]={
0,0,1,-1}; 9 int fy[4]={
1,-1,0,0};10 11 int search(int x,int y){12 if (f[x][y]!=-1) return f[x][y];13 int tmp=1;14 for (int i=0;i<4;i++){15 if (available[x+fx[i]][y+fy[i]]&&num[x][y]>num[x+fx[i]][y+fy[i]])16 tmp=max(tmp,search(x+fx[i],y+fy[i])+1);17 }18 f[x][y]=tmp;19 return tmp;20 }21 22 int main(){23 memset(num,-1,sizeof(num));24 memset(available,0,sizeof(available));25 scanf("%d",&n);26 for (int i=1;i<=n;i++)27 for (int j=1;j<=n;j++){28 scanf("%d",&num[i][j]);29 available[i][j]=1;30 } 31 scanf("%d",&m);32 char c[2];33 int x,y,z,u;34 for (int t=1;t<=m;t++){35 scanf("%s",c);36 if (c[0]=='C') {37 scanf("%d%d%d",&x,&y,&z);38 num[x][y]=z;39 }40 if (c[0]=='S'){41 scanf("%d%d%d%d",&x,&y,&z,&u);42 for (int i=x;i<=z;i++)43 for (int j=y;j<=u;j++)44 available[i][j]=0;45 }46 if (c[0]=='B'){47 scanf("%d%d%d%d",&x,&y,&z,&u);48 for (int i=x;i<=z;i++)49 for (int j=y;j<=u;j++)50 available[i][j]=1;51 }52 //int time=0;53 if (c[0]=='Q') {54 //printf("%d\n",++time);55 memset(f,-1,sizeof(f));56 int Ans=1;57 for (int i=1;i<=n;i++)58 for (int j=1;j<=n;j++){59 if (!available[i][j]) continue;60 Ans=max(Ans,search(i,j));61 }62 printf("%d\n",Ans);63 }64 }65 return 0;66 }
View Code

 

转载于:https://www.cnblogs.com/vincent-hwh/p/6061383.html

你可能感兴趣的文章
JAVA小知识点-Finally和Return的执行关系
查看>>
基站转经纬度
查看>>
构建ASP.NET网站十大必备工具
查看>>
a*寻路分析
查看>>
Android Activity的任务栈和四大启动模式
查看>>
table左边固定-底部横向滚动条-demo
查看>>
MySQL事件异常记录
查看>>
Redis 发布订阅
查看>>
Redis 事务
查看>>
中国创新教育交流会杂感
查看>>
逍遥笔记
查看>>
JSON 命令行工具
查看>>
博士生传给硕士生的经验
查看>>
ubuntu 查看软件包中的内容 (已经安装)
查看>>
iperf 一个测试网络吞吐的工具
查看>>
IOR and mdtest - measure parallel file system I/O performance at both the POSIX and MPI-IO level.
查看>>
文件系统测试工具整理
查看>>
好用的性能检测工具 - Glances
查看>>
tcp滑动窗口和读写缓冲区
查看>>
GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造
查看>>