博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj3810: [Coci2015]Stanovi(记忆化搜索)
阅读量:4983 次
发布时间:2019-06-12

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

  实际上切出来的矩阵在原矩阵上的位置是不重要的。。。重要的只有矩阵的大小和上下左右是否在边界上。

  于是我们可以设f[x][y][l][r][u][d]表示x*y的矩阵上下左右是不是边界的最小代价。

  记忆化搜索一下横着切和竖着切。

  但是这样会被卡。。我们令x>=y l>=r u>=d可以减少很多相同的状态数,而且答案是不变的,这样常数小很多才能过

#include
#include
#include
#include
#include
#define ll long long using namespace std;const int maxn=310;int n,m,k;ll f[maxn][maxn][2][2][2][2];void read(int &k){ int f=1;k=0;char c=getchar(); while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar(); while(c<='9'&&c>='0')k=k*10+c-'0',c=getchar(); k*=f;}ll dfs(int x,int y,int l,int r,int u,int d){ if(x
View Code

 

转载于:https://www.cnblogs.com/Sakits/p/7626988.html

你可能感兴趣的文章
jQuery基础选择器
查看>>
寒假作业03
查看>>
P1129 [ZJOI2007]矩阵游戏
查看>>
hdu2046 骨牌铺方格
查看>>
Linux下mysql启动失败
查看>>
同心圆闪烁扩散功能
查看>>
oracle 如何恢复误删的表记录数据
查看>>
Druid连接池错误(数据库版本问题)
查看>>
console对象-转
查看>>
洛谷 4216 BZOJ 4448 [SCOI2015]情报传递
查看>>
清北学堂2018DP&图论精讲班 DP部分学习笔记
查看>>
css3 2D变换 transform
查看>>
Fastjson获取天气信息封装bean
查看>>
不同编码字符所占大小
查看>>
使用迭代器优化代码
查看>>
JavaScript 获取随机数
查看>>
线程学习的几个实例
查看>>
dom4j读取XML文件内容
查看>>
Java虚拟机10:Client模式和Server模式的区别
查看>>
Blog搬家吧
查看>>