CF1200D-White Lines【二维前缀和】

正题

题目链接:https://www.luogu.org/problem/CF1200D


题目大意

一个黑白组成的n∗nn*nnn矩阵,然后可以选择将k∗kk*kkk的覆盖为白色,然后求有多少白线(整行或整列都是白色)。


解题思路

对于每一行或每一列可以变成白线的话那么可行范围一定是一个矩阵,我们用二维前缀和,每次让整个可以产生贡献的矩阵都+1+1+1,然后求值最大的位置即可。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=2100;
int n,k,ans[N][N],maxs,cl;
char s[N][N];
void addw(int x1,int y1,int x2,int y2)
{x1=max(x1,1);y1=max(y1,1);x2=max(x2,1);y2=max(y2,1);//printf("%d,%d,%d,%d\n",x1,y1,x2,y2);ans[x1][y1]++;ans[x1][y2+1]--;ans[x2+1][y2+1]++;ans[x2+1][y1]--;
}
int main()
{scanf("%d%d\n",&n,&k);for(int i=1;i<=n;i++)gets(s[i]+1);for(int i=1;i<=n;i++){int mx=0,mi=n+1;for(int j=1;j<=n;j++)if(s[i][j]=='B') mx=max(mx,j),mi=min(mi,j);if(!mx) {cl++;continue;}if(mx-mi+1>k) continue;addw(mx-k+1,i-k+1,mi,i);}for(int i=1;i<=n;i++){int mx=0,mi=n+1;for(int j=1;j<=n;j++)if(s[j][i]=='B') mx=max(mx,j),mi=min(mi,j);if(!mx) {cl++;continue;}if(mx-mi+1>k) continue;addw(i-k+1,mx-k+1,i,mi);}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)ans[i][j]+=ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1];for(int i=1;i<=n-k+1;i++)for(int j=1;j<=n-k+1;j++)maxs=max(maxs,ans[i][j]);printf("%d",maxs+cl);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET CORE MVC 实现减号分隔(Kebab case)样式的 URL

ASP.NET CORE MVC 中&#xff0c;默认的 Route 模板是&#xff1a; /{controller}/{action} 。我们可以通过开启 URL 小写转换将 URL 变为小写&#xff0c;但此方式在 Controller 或者 Action 为一个词组时&#xff0c;生成的 URL 并不友好。假设我们有 UserController 和 Add…

Spark SQL(九)之基于用户的推荐公式

一、基于用户的推荐公式 其中&#xff0c;S(u,K)表示与用户u最相似的K个用户&#xff0c;N(i)代表喜欢物品i的用户集合&#xff0c;rm表示用户v对物品i的评分。 二、代码 public class UserCFRecommendApp {public static void main(String[]args){SparkConf sparkConf new S…

jzoj6309-完全背包【贪心,背包】

正题 题目大意 完全背包&#xff0c;不过容量特别大。 解题思路 然后我们可以先做一个1∼200001\sim 200001∼20000的背包&#xff0c;然后枚举一个大小&#xff0c;然后将这个大小填入背包知道无法填入为止&#xff0c;然后剩下的空位在再一次背包就好。 codecodecode #incl…

拥抱.NET Core系列:MemoryCache 缓存过期

MSCache项目MSCache目前最新的正式版是 2.0.0&#xff0c;预览版是2.1.0&#xff0c;会与.NETCore 2.1一起发布。本篇用了2.0.0版本开源在GitHub上&#xff0c;仓库地址是&#xff1a;https://github.com/aspnet/CachingNuGet地址为&#xff1a;https://www.nuget.org/packages…

Spark SQL(十)之基于物品的推荐公式

一、基于物品的推荐公式 其中&#xff0c;S(j,K)表示与物品j最相似的K个物品&#xff0c;N(u)表示用户u喜欢的物品集合&#xff0c;Rui表示用户u对物品i的评分。 二、代码 public class ItemCFRecommendApp {public static void main(String[]args){SparkConf sparkConf new …

jzoj6308-中间值【分治】

正题 题目大意 两个序列不降a,ba,ba,b&#xff0c;每次可以修改或询问[l1,r1,l2,r2][l_1,r_1,l_2,r_2][l1​,r1​,l2​,r2​]要求输出将序列aaa的l1∼r1l_1\sim r_1l1​∼r1​和bbb的l2∼r2l_2\sim r_2l2​∼r2​部分合起来然后求中位数。 解题思路 我们考虑分治&#xff0c;…

MongoDB嵌套数组,多维数组查询

一、嵌套数组 数据&#xff1a; {"arrays": [{"keyArrays": [{"key": "index","key2": "index2"},{"key": "index1","key2": "index2"}]}] } mongo语法 db.collecti…

ASP.NET Core Razor 页面使用教程

ASP.NET Core Razor 页面作为 ASP.NET Core 2.0的一部分发布&#xff0c;它是基于页面的全新的Web开发框架。如果您想学习如何使用 ASP.NET Core Razor 页面&#xff0c;可以访问微软的官方站点https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/razor-page…

jzoj6306-Sequence【线性筛,积性函数,数论】

正题 题目大意 定义函数f(x)f(x)f(x)表示有多少长度为nnn的序列使得其中全都是xxx的约束&#xff0c;然后每个序列的贡献是这个序列的gcdgcdgcd再gcdgcdgcd上一个BBB。 给出n,m,Bn,m,Bn,m,B&#xff0c;求∑i1mf(i)\sum_{i1}^mf(i)∑i1m​f(i)。 解题思路 我们发现fff是一个…

MongoDb连接表的查询

一、外键关联 a_table关联b_table通过a_table的a_fieldb_table的b_field&#xff0c;在a_table生成lookup_field字段存储关联的b_table数据 MongoOperations mongoOperations ...;LookupOperation agg Aggregation.lookup("b_table", "a_field","…

如何面试.NET/ASP.NET工程师?

2018-2-28 更新&#xff1a;距离这篇回答发布已经五年过去了&#xff0c;最近还经常受到关注。技术本身在发展&#xff0c;这令我感到有必要来更新一下&#xff0c;希望对新看到的朋友有用。对于服务器上的 .NET 技术&#xff0c;最新的发展当然是 .NET Core 了&#xff0c;作为…

欢乐纪中A组赛【2019.8.18】

前言 有一个暴力写挂了QVQQVQQVQ 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC111111(J−3)LRZ(J-3)LRZ(J−3)LRZ140140140100100100303030101010191919(J−3)WYC(J-3)WYC(J−3)WYC120120120100100100101010101010262626(J−3)HZB(J-3)HZB(J−3)HZB100100100…

Asp.Net Core 2.1+的视图缓存(响应缓存)

响应缓存Razor 页与 ASP.NET 核心 2.0 中不支持。 此功能将支持ASP.NET 核心 2.1 版本。在老的版本的MVC里面&#xff0c;有一种可以缓存视图的特性(OutputCache)&#xff0c;可以保持同一个参数的请求&#xff0c;在N段时间内&#xff0c;直接从mvc的缓存中读取&#xff0c;不…

MongoDB投影字段

一、投影表字段 投影只包含a_field和b_field字段 Aggregation aggregation Aggregation.newAggregation(Aggregation.project("a_field", "b_field")); List<Map> list mongoOperations.aggregate(aggregation, "table", Map.class).ge…

Json.NET 不再有超过120个依赖项

Json.NET是.NET的官方的JSON解析和序列化库&#xff0c;它取代了Microsoft实际提供的库。但是当把Json.NET推向.NET Standard时&#xff0c;出现了一些问题。除了在该平台上无法使用的众多方法之外&#xff0c;在NET Standard 1.3上的Json.NET需要高达122个依赖包。随着适用于.…

MongoDB新建或删除索引

一、创建索引 创建正序索引 BasicDBObject indexOptions new BasicDBObject(); indexOptions.put("fieldName", 1); mongoOperations.getCollection(tableName).createIndex(indexOptions); 创建逆序索引 BasicDBObject indexOptions new BasicDBObject(); ind…

CF613D-Kingdom and its Cities【虚树,LCA,树链剖分,贪心】

正题 题目链接:https://www.luogu.org/problem/CF613D 题目大意 一棵树&#xff0c;每次询问kkk个点&#xff0c;删除mmm个点要这些点两两不连通&#xff0c;求mmm的最小值。 解题思路 我们可以对于询问的点构造一颗虚树&#xff0c;然后进行贪心选取即可。 codecodecode #…

C#热度不如Java?网友呛声:还有使用C#不能完成的工作?

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言&#xff0c;自发布以来受到了程序员的广泛关注。C#与Java有着很多相似之处&#xff0c;例如&#xff0c;单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是与Java每月被…

P3690-[模板]Link Cut Tree(动态树)【Splay】

正题 题目链接:https://www.luogu.org/problem/P3690 题目大意 nnn个点mmm个操作&#xff0c;要求支持 询问路径异或和连接一条边(若x,yx,yx,y没联通)删除一条边修改一个点的权值 解题思路 LCTLCTLCT板子题不解释。 codecodecode #include<cstdio> #include<cstrin…

MongoDB SpringData去掉自动生成的_class字段

使用定义的Bean类插入数据&#xff0c;spring data默认会给数据增加一个_class字段存储类的全名&#xff0c;这里需要去除类型 Configuration public class MongoConverterConfig implements InitializingBean {Autowiredprivate MappingMongoConverter mappingConverter;Over…