第24题(二分):巧克力蛋糕

原创 2018年04月17日 21:52:23


Description

有一块矩形的巧克力蛋糕,我们可以把它看成是R×C(1<=R,C<=500)个小网格,每个网格上有N_ij(0<=N_ij<=4,000)颗巧克力豆。
现在我们将这块蛋糕切成A×B(1<=A<=R,1<=B<=C)块。先沿水平方向切A-1刀(沿着网格线),得到A条蛋糕,然后对于每条蛋糕,独立的沿垂直方向切B-1刀(沿着网格线)。蛋糕切好后,很快就被分掉了,只留下最后一块给你。由于人人都爱吃巧克力豆,因此,每个人拿蛋糕的时候都会选择巧克力豆最多的那块。当然,你也想要吃到尽可能多的巧克力豆。
请你设计一个切蛋糕的方案,使得自己可以吃到尽可能多的巧克力豆。

Input

输入数据共若干行。第一行包含四个用空格隔开的整数R、C、A、B。接下来R行,每行包含C个用空格隔开的整数N_ij。

Output

输出数据仅一个整数,表示可能得到的最多巧克力豆的数量。

Sample Input

5 4 4 2
1 2 2 1
3 1 1 1
2 0 1 3
1 1 1 1
1 1 1 1

Sample Output

3

AC CODE:

#include<bits/stdc++.h>
using namespace std;
#define MAXN 1001
int a[MAXN][MAXN],n,m,x,y,sum,s;
int check(int h){
    int last=0,sum=0,xx=0,yy=0;
    for(int i=1;i<=n;++i){
        yy=0;sum=0;
        for(int j=1;j<=m;++j){
            sum+=a[i][j]-a[last][j];
            if(sum>h)yy++,sum=0;
            if(yy>=y) break;
        }
        if(yy>=y)last=i,xx++;
        if(xx>=x)return 1;
    }
    return 0;
}  
int main(){
    cin>>n>>m>>x>>y;
    for(int i=1;i<=n;++i)
    for(int j=1;j<=m;++j){
        cin>>s;
        sum+=s;
        a[i][j]=a[i-1][j]+s;
    }
    int l=0,r=sum/x/y;
    while(l<r){
        int mid=(l+r)/2;
        if(check(mid)==1)l=mid+1;
        else r=mid;
    }
    cout<<r<<endl;
}

24小时react/react-native/flux/redux快速入门

react/react-native经过几年时间的锤炼,时至今日,无疑是目前前端开发最火的框架之一,搞定react/react-native,web端,移动端通吃,再加一个nodejs即成为现在最吃香的全栈工程师。
  • 2017年04月20日 10:30

第八届蓝桥杯_分巧克力_二分

/* 标题: 分巧克力     儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。     小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。     ...
  • lp15203883326
  • lp15203883326
  • 2017-04-10 15:47:14
  • 2488

第十次ccf 分蛋糕

题目: 试题编号: 201703-1 试题名称: 分蛋糕 时间限制: 1.0s 内存限制: 256.0MB ...
  • xiaoli_nu
  • xiaoli_nu
  • 2017-03-23 23:06:49
  • 1068

第八届 蓝桥杯 c/c++ B组 省赛 (9)——分巧克力

标题: 分巧克力儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。  为了公平起见,小明需要从这 N 块巧克...
  • qq_40788630
  • qq_40788630
  • 2018-03-17 11:58:49
  • 49

hdoj5640_每次(只用一刀)切一个正方形蛋糕,用除法更快!

#include #include #include using namespace std; int T, n, m, temp, cnt; int main() { cin >> T; wh...
  • czkct
  • czkct
  • 2016-03-13 20:49:22
  • 369

2017年第八届蓝桥杯 A组(分巧克力)(二分)

9. 标题: 分巧克力     儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。    小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。     为了公平起...
  • Tsaryu
  • Tsaryu
  • 2018-03-01 16:53:02
  • 544

第八届蓝桥杯JAVAB组第9题 分巧克力 二分搜索

比赛时想复杂了,形状不规则,以为要动态规划或者DFS,后来发现只要求切出来的是正方形... 标题: 分巧克力     儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。     ...
  • qq_35109846
  • qq_35109846
  • 2017-05-11 18:33:12
  • 128

洛谷二分答案

洛谷二分答案 水题
  • alpha_wendy
  • alpha_wendy
  • 2017-12-24 14:38:14
  • 32

蓝桥杯java第八届第九题--分巧克力

标题: 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明...
  • sihai12345
  • sihai12345
  • 2017-04-14 11:06:35
  • 1176
收藏助手
不良信息举报
您举报文章:第24题(二分):巧克力蛋糕
举报原因:
原因补充:

(最多只允许输入30个字)