zoukankan      html  css  js  c++  java
  • HDU2017新生赛 找方块

    思路:

    先n^3预处理出每个点能到达的(1010串)最上面的行下标。

    然后再n^3暴力一下,对于每个点,往左走看能走到哪,边走边更新面积。

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define pb push_back
    #define mem(a,b) memset(a,b,sizeof(a))
    
    const int N=105;
    const int INF=0x3f3f3f3f;
    int mp[N][N];
    int suf[N][N];
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        int T;
        int n;
        cin>>T;
        while(T--)
        {
            cin>>n;
            mem(suf,INF);
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                cin>>mp[i][j],suf[i][j]=i;
            }
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                {
                    for(int k=i+1;k<n;k++)
                    {
                        if(mp[k][j]!=mp[k-1][j])suf[k][j]=min(suf[k][j],i);
                        else break;
                    }
                }
            }
            int ans=0;
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                {
                    int t=suf[i][j];
                    ans=max(ans,i-t+1);
                    for(int k=j-1;k>=0;k--)
                    {
                        t=max(t,suf[i][k]);
                        if(mp[i][k]!=mp[i][k+1])
                        {
                            ans=max(ans,(j-k+1)*(i-t+1));
                        }
                        else break;
                    }
                }
            }
            cout<<ans<<endl;
        }
        return 0;
    }
  • 相关阅读:
    媒体查询漫谈——@media Queries
    JavaScript工具函数集
    什么是BFC、IFC、GFC和FFC
    HTTP与HTTPS的区别
    reflow 和 repaint
    客户端检测
    ajax
    批量删除
    数据访问
    登录主页面代码
  • 原文地址:https://www.cnblogs.com/widsom/p/7896052.html
Copyright © 2011-2022 走看看