CF 22B. Bargaining Table
水题。好久没有写过优化搜索题了。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <vector>
using namespace std;
char str[][];
int r[][];
int c[][];
int judge(int rx,int ry,int lx,int ly)
{
int i,j;
for(i = lx;i <= rx;i ++)
{
for(j = ly;j <= ry;j ++)
{
if(str[i-][j-] == '')
return ;
}
}
return ;
}
int main()
{
int n,m,i,j,k,u,ans;
scanf("%d%d",&n,&m);
for(i = ;i < n;i ++)
scanf("%s",str[i]);
ans = ;
for(i = ;i <= n;i ++)
{
for(j = ;j <= m;j ++)
{
if(str[i-][j-] == '')
{
r[i][j] = r[i-][j] + ;
c[i][j] = c[i][j-] + ;
}
else
{
r[i][j] = ;
c[i][j] = ;
}
}
}
for(i = n;i >= ;i --)
{
for(j = m;j >= ;j --)
{
for(k = ;k <= r[i][j];k ++)
{
for(u = ;u <= c[i][j];u ++)
{
if(ans >= (k+u)*) continue;
if(judge(i,j,i-k+,j-u+))
{
ans = max(ans,(k+u)*);
}
}
}
}
}
printf("%d\n",ans);
return ;
}
CF 22B. Bargaining Table的更多相关文章
- Code Forces 22B Bargaining Table
B. Bargaining Table time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Codeforces 22B Bargaining Table
http://www.codeforces.com/problemset/problem/22/B 题意:求出n*m的方格图中全是0的矩阵的最大周长 思路:枚举 #include<cstdio& ...
- CodeForces 22B Bargaining Table 简单DP
题目很好理解,问你的是在所给的图中周长最长的矩形是多长嗯用坐标(x1, y1, x2, y2)表示一个矩形,暴力图中所有矩形易得递推式:(x1, y1, x2, y2)为矩形的充要条件为: (x1, ...
- Bargaining Table
Bargaining Table time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- 暴力/DP Codeforces Beta Round #22 (Div. 2 Only) B. Bargaining Table
题目传送门 /* 题意:求最大矩形(全0)的面积 暴力/dp:每对一个0查看它左下的最大矩形面积,更新ans 注意:是字符串,没用空格,好事多磨,WA了多少次才发现:( 详细解释:http://www ...
- CF 71C. Round Table Knights
题目链接 很多小的细节都没想到... #include <cstdio> #include <cstring> #include <iostream> #inclu ...
- CF#338D. GCD Table
传送门 简单的中国剩余定理练习. 首先行数一定是$lcm$,然后只要确定最小的列数就能判定解合不合法了. 我们可以得到线性模方程组: $y \equiv 0 \pmod{a_1}$ $y+1 \equ ...
- CF 662C Binary Table
用FWT优化计算. 首先发现行数很小,想到一个暴力的方法,就是以一个二进制位$0$表示这一行不翻转而二进制位$1$表示这一行翻转,然后$2^n$枚举出所有行的翻转情况,再$O(m)$计算所有的结果. ...
- CF dp 题(1500-2000难度)
前言 从后往前刷 update 新增 \(\text{\color{red}{Mark}}\) 标记功能,有一定难度的题标记为 \(\text{\color{red}{红}}\) 色. 题单 (刷过的 ...
随机推荐
- Delphi的面向对象编程基础笔记
1.面向对象.一门面向对象的编程语言至少要实现以下三个OOP的概念 封装:把相关的数据和代码结合在一起,并隐藏细节.封装的好处是利用程序的模块化,并把代码和其他代码分开 继承:是指一个新的类能够从父类 ...
- ArcGIS中的三种查询
ArcGIS runtime SDK for WPF/Silverlight中的三种常用的查询:QueryTask.FindTask.IdentifyTask都是继承自ESRI.ArcGIS.Clie ...
- [译] Extending jQuery Part1 Simple extensions
本章包含: JQuery 的起源和目标. 你能扩展JQuery 的那些部分. JQuery 扩展的实例. 如今,JQuery 已经是网络上最受欢迎的JavaScript Library. 1.1 jQ ...
- 封装用className选元素
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 使用lsof查看进程句柄使用情况
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
- windows进程中的内存结构[转载]
在阅读本文之前,如果你连堆栈是什么多不知道的话,请先阅读文章后面的基础知识. 接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据.那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变 ...
- poj 1141 区间dp+递归打印路径
Brackets Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30383 Accepted: 871 ...
- JavaScript设计模式——前奏
Function.prototype.method = function(name,fn){ this.prototype[name] = fn; } var Anim = function(){ / ...
- canvas之2D上下文
1.填充和描边 (1)fillStyle (2)strokeStyle 2.绘制矩形 (1)fillRect() (2)strokeRect() (3)clearRect() :清除画布上的矩形区 ...
- Swift3.0语言教程删除字符与处理字符编码
Swift3.0语言教程删除字符与处理字符编码 Swift3.0语言教程删除字符 Swift3.0语言教程删除字符与处理字符编码,在字符串中,如果开发者有不需要使用的字符,就可以将这些字符删除.在NS ...