【模拟】生日蛋糕(jzoj 1613)
生日蛋糕
题目大意:
一个正方形蛋糕,竖着横着各切一刀,使他变成四块正方形蛋糕,蛋糕中有一些巧克力,而小明只能拿巧克力最少的一块,请问小明要怎么切才能吃到最多的巧克力
样例输入
8
…#…#…
.##…#…
…#.
.##…
…#.#…
…#.
…
…#…#…
样例输出
3
3 4
数据范围限制
提示
数据说明:
20% N<=50
50% N<=2000
100% N<=4500
解题思路:
用f[i][j]来表示前i行前j列的巧克力总数,那我们就可以得知:
f[i][j]=f[i−1][j]+f[i][j−1]−f[i−1][j−1]+sf[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+sf[i][j]=f[i−1][j]+f[i][j−1]−f[i−1][j−1]+s
因为f[i-1][j]和f[i][j-1]重复了f[i-1][j-1]所以要减去,当此处有巧克力时,s为1否则为0
然后我们枚举1,1到n,n的每一个点,从这个点开始分割
左上为f[i][j],右上为f[i][n]-f[i][j],左下为f[n][j]-f[i][j],右下为f[n][n]-f[i][n]-f[n][j]+f[i][j],这四个之中最小的就是当前分法的结果,再求最大的结果,即可
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<string>
using namespace std;
int n,ans,f[4505][4505],t,x,y;
char c;
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1];//求f[i][j]cin>>c;//输入if(c=='#') f[i][j]++;//判断是否有巧克力}for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){t=min(min(f[i][j],f[i][n]-f[i][j]),min(f[n][j]-f[i][j],f[n][n]-f[i][n]-f[n][j]+f[i][j]));//记录下来if (t>=ans)//判断是否更优{ans=t;//代替x=i;//记录y=j;//记录}}printf("%d\n%d %d",ans,x,y);//输出return 0;
}
【模拟】生日蛋糕(jzoj 1613)相关推荐
- JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫
Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...
- [jzoj NOIP2018模拟 11.01]
很庆幸打了这场模拟赛,因为这一场爆零 好像上次纪中的某场比赛我也出现了同样的问题,光是计算时间复杂度而忘记了空间的限制.想必是比上次惨的,考场上就写了两题而这两题都因为MLE爆零了.而且我T2还码了7 ...
- 【模拟】交换(jzoj 1518)
交换 jzoj 1518 题目大意: 有两个字符串(只包含'R''G''B'三个字符,且相邻的字符互不相同),现在要交换两个字符串中的一个数,使两个字符串内都各有3个连续且相同的字符,问有多少种换法 ...
- JZOJ 7066. 【2021.4.24 NOI模拟】ehzeux与圆周(DP)
JZOJ 7066. [2021.4.24 NOI模拟]ehzeux与圆周 题目大意 圆周上有2∗n2*n2∗n个点,两两相连构成nnn个点对,其中有mmm个点对已经连好,求所有方案下的连通块数量和. ...
- JZOJ 6481. 【GDOI2020模拟02.22】黎曼几何(矩阵乘法)
JZOJ 6481. [GDOI2020模拟02.22]黎曼几何 题解 设fn,1f_{n,1}fn,1和fn,2f_{n,2}fn,2分别表示将nnn个硬币移动111格和222格的最小步数, 推 ...
- JZOJ 7036. 2021.03.30【2021省赛模拟】凌乱平衡树(平衡树单旋+权值线段树)
JZOJ 7036. 2021.03.30[2021省赛模拟]凌乱平衡树 题目大意 给出两棵Treap,大小分别为 n , m n,m n,m,每个点的 p r i o r i t y priorit ...
- JZOJ 5814. 【NOIP提高A组模拟2018.8.14】 树
梦游中的你来到了一棵 N 个节点的树上. 你一共做了 Q 个梦, 每个梦需要你从点 u 走到点 v 之后才能苏醒, 由于你正在梦游, 所以每到一个节点后,你会在它连出去的边中等概率地选择一条走过去, ...
- JZOJ 5820. 【NOIP提高A组模拟2018.8.16】 非法输入
Description 在算法竞赛中,题目一般保证了输入数据的合法性.然而在工程开发中,我们往往不期望程 序得到的输入都是合法的. D 君正忙着向校内 OJ 添加题目,在写了第 233 个 val.c ...
- JZOJ 5623. 【NOI2018模拟4.2】program
Description Input Output Sample Input 10 5 8>6<2<>54< 4 7 1 10 4 4 2 9 8 10 Sample Ou ...
最新文章
- 电脑硬盘是干什么用的_电脑硬盘位不够用?有了它就不担心、奥睿科硬盘柜体验...
- xcode5 delete provisioning profile
- python数据写入表格生成图片_python带表格图片生成封装
- ListView与GridView优化
- PIP scrapydo时报错ERROR: Command errored out with exit status 1: python setup.py egg_info Check the log
- java使用org.w3c.dom解析XML文档,创建、增删查改,保存,读取,遍历元素等操作
- 在java中转义符 n代表什么_在Java中,表示换行符的转义字符是()。 A.\nB.\fC.n D.\ddd...
- 【边缘检测】基于matlab蚁群算法图像边缘检测【含Matlab源码 1189期】
- 指导老师对计算机论文的评语,指导老师对论文的评语
- AirServer投屏轻松地将iPhone、iPad投屏到Mac上面教程
- linux 复制文件加后缀,linux shell 取文件名后缀
- Android系统固件包解包、修改(涉及root提权)、打包
- 共享自习室创业项目分析
- 输入一个小写,输出大写字母
- Python用selenium爬取高德地图商家数据
- java反射的优缺点_Java反射机制的优缺点
- vba 添加outlook 签名_调用Outlook发送邮件-附带签名
- 细雨算法升级,针对B2B领域低质内容
- 电子游戏销售数据分析(基于Python+Tableau)
- 音频和视频批量合并,及格式转换
热门文章
- python中summary_python summary_study.py
- Java pdf文件传输_java中pdf文件的管理(pdf文件转png文件,base64传输文件以及删除)...
- 文件 单片机_如何查看你写的单片机程序有多大?
- C++ 学习之旅(13)——枚举enum
- C++ 学习之旅(1)——编译器Compiler
- [PAT乙级]1043 输出PATest
- UVA - 839 Not so Mobile
- jsbridge实现及原理_JSBridge 实现原理解析
- mysql 中如何删除重复的数据_mysql如何快速删除重复的数据
- HDU - 6975 Forgiving Matching FFT匹配字符串