Tags » Histogram

SPOJ : HISTOGRA - Largest Rectangle in a Histogram

Problem Link : http://www.spoj.com/problems/HISTOGRA/


/*
         +-+ +-+ +-+
         |R| |.| |S|
         +-+ +-+ +-+
 */

#include <bits/stdc++.h>

#define pii             pair <int,int>
#define sc              scanf
#define pf              printf
#define Pi              2*acos(0.0)
#define ms(a,b)         memset(a, b, sizeof(a))
#define pb(a)           push_back(a)
#define MP              make_pair
#define db              double
#define ll              long long
#define EPS             10E-10
#define ff              first
#define ss              second
#define sqr(x)          (x)*(x)
#define D(x)            cout<<#x " = "<<(x)<<endl
#define VI              vector <int>
#define DBG             pf("Hi\n")
#define MOD             100007
#define MAX             100005
#define CIN             ios_base::sync_with_stdio(0); cin.tie(0)
#define SZ(a)           (int)a.size()
#define sf(a)           scanf("%d",&a)
#define sfl(a)          scanf("%lld",&a)
#define sff(a,b)        scanf("%d %d",&a,&b)
#define sffl(a,b)       scanf("%lld %lld",&a,&b)
#define sfff(a,b,c)     scanf("%d %d %d",&a,&b,&c)
#define sfffl(a,b,c)    scanf("%lld %lld %lld",&a,&b,&c)
#define loop(i,n)       for(int i=0;i<n;i++)
#define REP(i,a,b)      for(int i=a;i<b;i++)
#define TEST_CASE(t)    for(int z=1;z<=t;z++)
#define PRINT_CASE      printf("Case %d: ",z)
#define all(a)          a.begin(),a.end()
#define intlim          2147483648
#define inf             1000000
#define ull             unsigned long long

using namespace std;


/*----------------------Graph Moves----------------*/
//const int fx[]={+1,-1,+0,+0};
//const int fy[]={+0,+0,+1,-1};
//const int fx[]={+0,+0,+1,-1,-1,+1,-1,+1};   // Kings Move
//const int fy[]={-1,+1,+0,+0,+1,+1,-1,-1};  // Kings Move
//const int fx[]={-2, -2, -1, -1,  1,  1,  2,  2};  // Knights Move
//const int fy[]={-1,  1, -2,  2, -2,  2, -1,  1}; // Knights Move
/*------------------------------------------------*/

/*-----------------------Bitmask------------------*/
//int Set(int N,int pos){return N=N | (1<<pos);}
//int reset(int N,int pos){return N= N & ~(1<<pos);}
//bool check(int N,int pos){return (bool)(N & (1<<pos));}
/*------------------------------------------------*/

ll ara;

ll hisogram(int n)
{
    stack<int>st;
    int i=0;
    ll ans=0;
    while(i<n)
    {
        if(st.empty() || ara<=ara[i])
        {
            st.push(i);
            i++;
        }
        else
        {
            int top=st.top();
            st.pop();
            ll area= ara*(st.empty()?i:i-st.top()-1);
            if(area>ans)
                ans=area;
        }
    }

    while(!st.empty())
    {
        int top=st.top();
        st.pop();
        ll area= ara*(st.empty()?i:i-st.top()-1);
        ans=max(ans,area);
    }
    return ans;
}

int main()
{
    ///freopen("in.txt","r",stdin);
    ///freopen("out.txt","w",stdout);
    int n;
    while(sf(n) && n)
    {
        loop(i,n) sfl(ara[i]);
        cout<<hisogram(n)<<endl;
    }
    return 0;
}

Histogram

Landscape Photography Part 5: Getting your exposure right.

So, you’ve gone to all the trouble of planning ahead and preparing for your photo shoot at a particular scene. You’ve set up your composure to make the best impact you can. 3,043 more words

Landscape Photography Tips

Exercise 4.1

From reading the notes on this exercise we are to find out about the cameras light metering capabilities in auto mode compared to Manual Mode… 558 more words

Part 4

What Difference Does HDR make With Smartphone Images?

On all the smartphones I get my hands on these days there’s a n HDR function. Quite often I find that the default is ‘Auto’ but what difference does it really make? 917 more words

Technique &amp; Tutorials

Number of Transits, Some SNR Graphs

After a long break from blogging which was partly, because of my desire to write comprehensive posts which I kept putting off, I’m going to try to get in the habit of blogging before being too ambitious. 411 more words

Histogram

Histogram is the magnitude (amount) range representation of all the colors mixed represented in an image. The lowest limit, the darker part of the image, is called Shadow/Black part. 111 more words

"featured"

Every professional is as good as his toolset and as a QlikView developer, there’s always room for one more trick under your sleeve. Today I will show you one of the most powerful –yet underused– chart for analyzing data: the histogram.

847 more words
Tips &amp; Tricks