洛谷P1736 创意吃鱼法 dp
正解:dp
解题报告:
早就想写dp的题目辣!我发现我的dp好差啊QAQ所以看到列表的小朋友写dp的题目就跟着他们的步伐做下题好辣QwQ
这题的话没有那——么难,大概说下趴QwQ
首先说下题意
前面一堆什么吃鱼之类的都是瞎扯淡,,,我我我我开始还以为只能站在边界我会说
然后简单来说这题就是要找一个最大子正方形使得它只有对角线有鱼
然后这题大概就是设三个数组,h[i][j]表示向左最多拓展多少个0 l[i][j]表示向上最多拓展多少个0 f[i][j]表示向左上最多拓展多少个1
转移大概就是这样子的:
f[i][j]=min(f[i-1][j-1],h[i][j-1],l[i-1][j])+1
很好理解趴还是?然后就大力转移即可,也不用初始化什么的,就很susi
哦还有就是注意一下它的对角线不一定是左上右下,,,我开始写题解的时候一直以为只能是左上右下的,,,
但其实差不多只要再做一遍就成辣!
over!
# include <bits/stdc++.h>
using namespace std;
#define ll int
#define rg register
#define rp(i,x,y) for(rg ll i=x;i<=y;++i)
#define my(i,x,y) for(rg ll i=x;i>=y;--i)
+;
ll h[N][N],l[N][N],f[N][N],as,n,m;
inline ll read()
{
rg ll x=;rg ;rg char ch=getchar();
'))ch=getchar();
,ch=getchar();
)+(x<<)+(ch^'),ch=getchar();
return y?x:-x;
}
inline ll mn(ll x,ll y,ll z){return min(min(x,y),z);}
int main ()
{
n=read();m=read();
rp(i,,n)
rp(j,,m)
{
bool pl=read();
]+,l[i][j]=l[i-][j]+;
][j-],h[i][j-],l[i-][j])+,;
}
memset(h,,,sizeof(f));
rp(i,,n)my(j,m,)]+;][j+],h[i][j+],l[i-][j])+,as=max(as,f[i][j]);
printf("%d\n",as);
;
}
代码在这儿!
做完之后upd一下这题还有一个小坑点要注意
就是,它很容易炸内存,,,
要通过两个途径优化一下不然会MLE
第一个是要开int不要开ll(,,,对我这种无脑开ll星人极不友好TT
第二个是读入pl之后我本来是给pl另开了一个数组,因为想着之后还要重做一次嘛,但实际上不需要,我们可以直接通过l或h得到pl是1还是0
(ps:这题还可以用枚举+剪枝过去,不想写了详见婷婷小朋友博客
洛谷P1736 创意吃鱼法 dp的更多相关文章
- 洛谷 P1736 创意吃鱼法 Label:dp || 前缀和
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- 洛谷 P1736 创意吃鱼法(多维DP)
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- 洛谷 P1736 创意吃鱼法
题目描述 题目链接:https://www.luogu.org/problemnew/show/P1736 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢( ...
- 洛谷P1736 创意吃鱼法
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- P1736 创意吃鱼法 /// DP
题目大意: https://www.luogu.org/problemnew/show/P1736 题解 dplr[][] 当前点左边(副对角线时为右边)有多少个连续的0 dpup[][] 当前点上边 ...
- P1387 最大正方形&&P1736 创意吃鱼法
P1387 最大正方形 P1736 创意吃鱼法 两道类似的$DP$ 转移方程基本上类似于$f[i][j]=min(f[i-1][j-1],min(f[i][j-1],f[i-1][j]))$ 考虑构成 ...
- P1736 创意吃鱼法 图的DP
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- P1736 创意吃鱼法[二维dp]
题目背景 感谢@throusea 贡献的两组数据 题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她 ...
- P1387 最大正方形 && P1736 创意吃鱼法(DP)
题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m ...
随机推荐
- Discuz论坛post登录C#源码
总结: loginhash formhash 表单参数 seccode 参数最重要 全局 的 获取验证码 判断验证码 到最后提交登录 它都有存在 ,seccode==idhash COOKIE自动维 ...
- jQuery-理解选择结果
使用$函数选择元素返回的是一个对象,可以称这个对象为jQuery对象,在jQuery执行一些操作的时候很多情况下都是返回的jQuery对象. jQuery中常用处理结果集的方法和属性 表达式 例子 说 ...
- SQL Server 备份和还原数据库
备份: --完整备份 ) set @db_name = 'WSS_Content_Test'; ) set @db_location = 'D:\spbr0002\0000000B.bak'; --保 ...
- Java几款性能分析工具的对比
在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题.理论上,增加对应用程序的负载会使性能等比率的下降.然而,我认为性能下降的比率远远高于负载的增加.我也发现,性能可以通过改变应用程序的逻 ...
- JavaScript编码encode和decode escape和unescape
encodeURI() 函数可把字符串作为 URI 进行编码. 语法 encodeURI(URIstring) 参数 描述 URIstring 必需.一个字符串,含有 URI 或其他要编码的文本. 返 ...
- 工作流JBPM_day01:5-管理流程定义3点改进
工作流JBPM_day01:5-管理流程定义3点改进 1.打包多个文件上传 再部署一个 查询所有看看,旧版本也查出来了 2.查询时只查询所有最新的版本 3.删除指定名称指定key的所有的它的版本
- 京东云擎提供了免费的wordpress一键安装功能了
1. 京东云擎(http://jae.jd.com)提供了免费的个人博客WordPress一键安装功能了,如下图,给开发者分享福利! 免费的应用,提供了源码,提供了数据库: 我之前把文章发到首页,遭到 ...
- PHP-004
'URL_CASE_INSENSITIVE' => true,设置为true的时候表示URL地址不区分大小写,这个也是框架在部署模式下面的默认设置. URL模式 : URL_MODEL设置 ...
- AssetBundle 在Android机子上进行读取 .
http://game.ceeger.com/Manual/StreamingAssets.html 我看到官方文档中说明:Note that bundles are not fully compat ...
- linux系统usb挂载
本次例程的环境是在FC6下,通过终端操作的. 注意要挂载U盘需要有管理员的权限. 切换成管理员,输入: su root 然后输入管理员密码,进行密码认证: 成功后,先在 /mnt 下建立一个名叫USB ...