这篇文章将为大家详细讲解有关ACwing中的二维前缀和怎么用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都做网站、网站建设、外贸营销网站建设,成都App制作以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
#include#include #include #include using namespace std; const int N=5010; int n,m; int s[N][N]; int main(){ int cnt,R; cin>>cnt>>R; //优化 R=min(5001,R); //防止右下角空 n=m=R; while(cnt--){ int x,y,w; cin>>x>>y>>w; x++,y++; n=max(n,x); m=max(m,y); s[x][y]+=w; } //预处理前缀和 for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ s[i][j]+=s[i-1][j]+s[i][j-1]-s[i-1][j-1]; } } int wmax=0; //枚举所有变长为R的矩形,枚举矩形右下角坐标(i,j) for(int i=R;i<=n;i++){ for(int j=R;j<=m;j++){ wmax=max(wmax,s[i][j]-s[i-R][j]-s[i][j-R]+s[i-R][j-R]); } } cout< 关于ACwing中的二维前缀和怎么用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文章标题:ACwing中的二维前缀和怎么用
转载来于:http://njwzjz.com/article/peedcc.html