题目大意:给一个点阵,其中有的地方没有点,操作是去掉某个点,并询问当前点阵中最大的正方形

若没有修改的话,裸dp

加上修改,可以考虑时光倒流,这样答案就是递增的

可以用并查集维护点的连通性,O^2的

#include<bits/stdc++.h>
using namespace std;
#define maxn 2010
inline void MIN(int &a,int b){if(a>b)a=b;}
inline void MAX(int &a,int b){if(a<b)a=b;}
int n,m,q,sz;
int f[maxn][maxn],u[maxn][maxn],lg[maxn],rg[maxn],qx[maxn],qy[maxn],ans[maxn];
char s[maxn][maxn];
struct line{
int f[maxn];
int find(int x){return f[x]==x?x:f[x]=find(f[x]);}
}l[maxn],r[maxn];
void del(int x,int y){
l[x].f[y]=l[x].find(y-);
r[x].f[y]=r[x].find(y+);
}
int main(){
scanf("%d%d%d",&n,&m,&q);
for(int i=;i<=n;++i)
for(int j=;j<=m+;++j){
l[i].f[j]=j;
r[i].f[j]=j;
u[i][j]=i;
}
for(int i=;i<=n;++i)scanf("%s",s[i]+);
for(int i=;i<=q;++i)scanf("%d%d",&qx[i],&qy[i]),s[qx[i]][qy[i]]='X';
for(int i=;i<=n;++i)
for(int j=;j<=m;++j)
if(s[i][j]=='.')
del(i,j);
for(int i=;i<=n;++i)
for(int j=;j<=m;++j)
if(s[i][j]=='.'){
u[i][j]=u[i-][j];
f[i][j]=min(f[i-][j-]+,min(i-u[i][j],j-l[i].find(j)));
MAX(sz,f[i][j]);
}
for(int v=q;v;--v){
ans[v]=sz;
del(qx[v],qy[v]);
for(int i=;i<=n;++i){
lg[i]=qy[v]-l[i].find(qy[v]);
rg[i]=r[i].find(qy[v])-qy[v];
}
for(int i=qx[v]-;i>=;--i)MIN(lg[i],lg[i+]),MIN(rg[i],rg[i+]);
for(int i=qx[v]+;i<=n;++i)MIN(lg[i],lg[i-]),MIN(rg[i],rg[i-]);
for(int i=;i<=qx[v];++i)
while(i+sz<=n&&min(rg[i],rg[i+sz])+min(lg[i],lg[i+sz])->sz)
++sz;
}
for(int i=;i<=q;++i)
printf("%d\n",ans[i]);
return ;
}

codeforces480E Parking Lot的更多相关文章

  1. [LintCode] Parking Lot 停车场问题

    Design a parking lot. see CC150 OO Design for details.1) n levels, each level has m rows of spots an ...

  2. [CareerCup] 8.4 Parking Lot 停车场问题

    8.4 Design a parking lot using object-oriented principles. LintCode上的原题,请参见我的另一篇博客Parking Lot 停车场问题. ...

  3. Codeforces 46D Parking Lot

    传送门 D. Parking Lot time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  4. Codeforces Round #135 (Div. 2) E. Parking Lot 线段数区间合并

    E. Parking Lot time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  5. Amazon Interview Question: Design an OO parking lot

    Design an OO parking lot. What classes and functions will it have. It should say, full, empty and al ...

  6. HDOJ(HDU) 1673 Optimal Parking

    Problem Description When shopping on Long Street, Michael usually parks his car at some random locat ...

  7. Lesson 28 No parking

    Text Jasper White is one of those rare people who believes in ancient myths. He has just bought a ne ...

  8. [PA2014]Parking

    [PA2014]Parking 题目大意: 停车场是一个宽度为\(w(w\le10^9)\)的矩形.我们以其左下角顶点为原点,坐标轴平行于矩形的边,建立直角坐标系.停车场很长,我们可以认为它一直向右边 ...

  9. Codeforces 219E Parking Lot 线段树

    Parking Lot 线段树区间合并一下, 求当前要占的位置, 不包括两端点的写起来方便一点. #include<bits/stdc++.h> #define LL long long ...

随机推荐

  1. 领域模型(domain model)&贫血模型(anaemic domain model)&充血模型(rich domain model)

    领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系. 贫血模型是指使用的领域对象中只有s ...

  2. Amazon S3云存储服务器的功能及编程接口

    http://blog.csdn.net/iamshaofa/article/details/7877785/

  3. 使用Spring的JAVA Mail支持简化邮件发送

    http://www.cnblogs.com/codeplus/archive/2011/11/03/2232893.html

  4. BZOJ2061 : Country

    记忆化搜索,设$f[i][j]$表示符号$i$一开始kmp指针为$j$,中间匹配了多少次,$g[i][j]$则表示匹配结束后kmp指针的位置. 时间复杂度$O(nl^2)$. #include< ...

  5. UVa 2197 & 拆点分环费用流

    题意: 给你一个带权有向图,选择一些边组成许多没有公共边的环,使每个点都在k个环上,要求代价最小. SOL: 现在已经养成了这种习惯,偏题怪题都往网络流上想... 怎么做这题呢... 对我们看到每个点 ...

  6. 为OpenResty增加ngx_pagespeed模块进行优化

    1.下载ngx_pagespeed模块 wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.8.31.4-beta.zip unzip ...

  7. 洛谷 P1038 神经网络 Label:拓扑排序 && 坑 60分待查

    题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷款风险评估等诸多领域有广泛的应用.对神经网络的研究一直是当今 ...

  8. 链式前向星+SPFA

    今天听说vector不开o2是数组时间复杂度常数的1.5倍,瞬间吓傻.然后就问好的图表达方式,然后看到了链式前向星.于是就写了一段链式前向星+SPFA的,和普通的vector+SPFA的对拍了下,速度 ...

  9. C#_使用SMTP发送邮件

    using System.Net; using System.Net.Mail; namespace ClassLibrary { /// <summary> /// 发送邮件 /// & ...

  10. Linux3.4内核 Yaffs2文件系统的移植

    作者:李老师,华清远见嵌入式学院讲师. [实验目的] Yaffs2文件系统是嵌入式系统中常用到的一种文件系统,是也是移植Android所必须的.通过向FS_S5PC100平台移植Yaffs文件系统,了 ...