当前位置: 首页 > news >正文

北京网站建设中心有哪些推广平台和渠道

北京网站建设中心,有哪些推广平台和渠道,上杭网站建设公司,app手机网站建设http://codewaysky.sinaapp.com/problem.php?id1056 这题和奶牛浴场略有区别,奶牛浴场只需要求出最大子矩形,而这题要求的是最大权重子矩形,不一定要最大的面积,但要最大的权重和 思路是先求出每个最大子矩形,然后求出…

http://codewaysky.sinaapp.com/problem.php?id=1056

 

这题和奶牛浴场略有区别,奶牛浴场只需要求出最大子矩形,而这题要求的是最大权重子矩形,不一定要最大的面积,但要最大的权重和

思路是先求出每个最大子矩形,然后求出每个矩形的左上点和右下点,然后用二维数转数组进行求和,保存最优解

 

View Code
  1 #include<iostream>
  2 #include<string>
  3 #include<algorithm>
  4 #include<stdio.h>
  5 #include<memory.h>
  6 using namespace std;
  7 
  8 int sum[1010][1010];
  9 int v[1010][1010];
 10 int l[1010],r[1010],h[1010];
 11 int n,m;
 12 
 13 //****************************//树状数组
 14 int lowbit(int x)
 15 {
 16     return x&-x;
 17 }
 18 
 19 void add(int x,int y,int w)
 20 {
 21     int i,j;
 22     for(i=x;i<=n;i+=lowbit(i))
 23     {
 24         for(j=y;j<=m;j+=lowbit(j))
 25             sum[i][j]+=w;
 26     }
 27 }
 28 
 29 int get_sum(int x,int y)
 30 {
 31     int i,j,ans=0;
 32     for(i=x;i>0;i-=lowbit(i))
 33     {
 34         for(j=y;j>0;j-=lowbit(j))
 35         {
 36             ans+=sum[i][j];
 37         }
 38     }
 39     return ans;
 40 }
 41 //*****************************//
 42 
 43 int find(int x1,int y1,int x2,int y2)
 44 {
 45     return get_sum(x2,y2)-get_sum(x1-1,y2)-get_sum(x2,y1-1)+get_sum(x1-1,y1-1);
 46 }
 47 
 48 int main()
 49 {
 50     int i,j,w,x1,x2,y1,y2;
 51     freopen("D:\\in.txt","r",stdin);
 52     while(scanf("%d%d",&n,&m)==2)
 53     {
 54         memset(sum,0,sizeof(sum));
 55         memset(v,0,sizeof(v));
 56         for(i=1;i<=n;i++)
 57         {
 58             for(j=1;j<=m;j++)
 59             {
 60                 scanf("%d",&w);
 61                 if(!w)
 62                     v[i][j]=1;
 63                 else
 64                     add(i,j,w);
 65             }
 66         }
 67         for(i=0;i<=m;i++)
 68         {
 69             h[i]=0;l[i]=1;r[i]=m;
 70         }
 71         int lm,rm,ans=0,temp;
 72         for(i=1;i<=n;i++)
 73         {
 74             lm=1;
 75             for(j=1;j<=m;j++)
 76             {
 77                 if(!v[i][j])
 78                 {
 79                     h[j]++;
 80                     if(lm>l[j])
 81                         l[j]=lm;
 82                 }
 83                 else
 84                 {
 85                     h[j]=0; //边界不能有洞,所以障碍点高度是0,而不是1
 86                     l[j]=1;
 87                     r[j]=m;
 88                     lm=j+1; //由于边界不能有洞,所以加1
 89                 }
 90             }
 91             rm=m;
 92             for(j=m;j>0;j--)
 93             {
 94                 if(r[j]>rm)
 95                     r[j]=rm;
 96                 if(h[j])
 97                 {
 98                     y1=l[j];y2=r[j]; //处理出举行的左上点和右下点
 99                     x1=i-h[j]+1;x2=i;
100                     temp=find(x1,y1,x2,y2);  //利用二维数转数组进行求和
101                     if(temp>ans)
102                         ans=temp;
103                 }
104                 else
105                     rm=j-1; //同理减一
106             }
107         }
108         printf("%d\n",ans);
109     }
110     return 0;
111 }

转载于:https://www.cnblogs.com/ka200812/archive/2012/09/30/2709217.html

http://www.15wanjia.com/news/32234.html

相关文章:

  • 南川集团网站建设百度竞价开户
  • 谁可以做网站优化排名推广提交网站收录入口
  • 怎么建立自己公司的网站百度知道网页版
  • 如何建设企业微网站百度seo排名推广
  • 怎样备份wordpress青岛推广优化
  • 设计型网站seo网站内容优化有哪些
  • 网站开发需要的技术人员有什么seo工作流程图
  • 太原网站建设哪家强拉人注册给佣金的app
  • 建站行业前景怎么样上海专业seo公司
  • 女装网站模板贵港seo关键词整站优化
  • 网站开发的背景的讲解百度招商加盟推广
  • 佛山网站建设公司电话电脑编程培训学校
  • 疫情现在怎么样了 最新消息seo排名优化方法
  • 香水网站设计网页福州百度推广排名优化
  • 百度搜索推广费用福州百度关键词优化
  • 如何做商业网站分析廊坊百度快照优化哪家服务好
  • 江西做网站的公司站长统计软件
  • 网页设计与网站建设的理解网站底部友情链接代码
  • 浙江网上移动营业厅玉溪seo
  • 广州自助网站推广建站semester什么意思
  • 衢州网站推广郑州网络推广软件
  • 虚拟机怎么做网站做网络推广的公司
  • 网站做微信支付宝支付接口杭州seo排名公司
  • 广西 网站建设搜索引擎优化特点
  • react做的电商网站能上线吗百度seo报价
  • 网站自己做的记者证百度云网盘免费资源
  • 佛山网站建设公司名单seo网络优化平台
  • WordPress 评论框表情网站seo网络优化
  • 长沙做网站好的公司有哪些网站历史权重查询
  • 广州专业网站建设公司seo基础入门免费教程