[BZOJ2196]Brownie Slicing 二分答案
来源:互联网 发布:网络直播开场白 编辑:程序博客网 时间:2024/06/11 09:07
二维的二分答案。
代码:
var r,c,a,b,i,j,li,re,mid:longint; d,s:array[0..510,0..510]of longint;function cal(x1,y1,x2,y2:longint):longint;begin exit(s[x2,y2]-s[x2,y1-1]-s[x1-1,y2]+s[x1-1,y1-1]);end;function check(x:longint):boolean;var i,j,lasta,lastb,na,nb:longint;begin lasta:=1; for na:=1 to a do begin for i:=lasta to r+1 do begin lastb:=1; for nb:=1 to b do begin for j:=lastb to c+1 do if cal(lasta,lastb,i,j)>=x then break; lastb:=j+1; if lastb>c then break; end; if (nb=b)and(lastb<=c+1) then break; end; lasta:=i+1; if lasta>r then break; end; exit((na=a)and(lasta<=r+1));end;begin readln(r,c,a,b); for i:=1 to r do for j:=1 to c do begin read(s[i,j]); s[i,j]:=s[i,j]+s[i-1,j]+s[i,j-1]-s[i-1,j-1]; end; li:=0; re:=1000000000; while li<re do begin mid:=(li+re)div 2; if check(mid) then li:=mid+1 else re:=mid; end; writeln(li-1);end.
0 0
- [BZOJ2196]Brownie Slicing 二分答案
- [Usaco2011 Mar]Brownie Slicing
- P3017 [USACO11MAR]布朗尼切片Brownie Slicing
- slicing
- 二分答案
- 二分答案
- 二分答案
- 二分答案
- ~二分答案~
- 二分答案
- 二分答案?!
- 二分答案
- 二分答案
- 【hiho38】二分•二分答案
- #1139 : 二分·二分答案
- 二分答案全攻略
- hunnu 10922 二分答案
- hdu 4190 二分答案
- (ZT)Change default Program Files installation directory location in Windows
- fastjson和jackson的简单对比
- Java笔记
- 软件开发--面试笔试题集锦
- LeetCode 113. Path Sum II
- [BZOJ2196]Brownie Slicing 二分答案
- NotePad++快捷键大全
- 数据库技术
- #include< > 和 #include” ” 的区别以及绝对地址引用\\以及cvLoadImage和imread
- Huffman编解码
- notepad++的好用快捷键整理
- LDR,ADRL,ADR,NOP伪指令
- C++抽象编程——面向对象(2)——结构体与类
- Raft论文翻译