码迷,mamicode.com
首页 > 其他好文 > 详细

STD 第四场 1001 1002 1004

时间:2015-08-03 10:10:04      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:2015多校联赛

HDU 5327 5328 5335

#include <stdio.h>
#include <iostream>
#include <string.h>
#include <stack>
#include <algorithm>
#include <queue>
#include <map>
#include <cmath>
#define eps 0.00000001
#define pi acos(-1,0)
//#define pr 999983
using namespace std;


int a[100100]={0},b[20]={0};


void init()
{
    for (int i=1; i<100000; i++)
    {
        int z=0,k=i;
        while (k>0)
        {
            b[z]=k%10;
            k=k/10;
            z++;
        }
        sort(b,b+z);
        int f=1;
        for (int j=1; j<z; j++)
            if (b[j]==b[j-1]) f=0;
        a[i]=a[i-1]+f;
//        printf("a[%d]=%d\n",i,a[i]);
    }
    return ;
}


int main()
{
    int T;
    init();
    scanf("%d",&T);
    while (T--)
    {
        int l,r;
        scanf("%d%d",&l,&r);
        printf("%d\n",a[r]-a[l-1]);
    }
    return 0;
}
 
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <stack>
#include <algorithm>
#include <queue>
#include <map>
#include <cmath>
#define eps 0.00000001
#define DBL_MIN   2.2250738585072014e-308 /* min positive value */
#define pi acos(-1,0)
//#define pr 999983
using namespace std;

int a[1000100]= {0};
double b[1000100]= {0};
int n,_max;

int main()
{
    int T;
    scanf("%d",&T);
    a[0]= 0x80000000;
    b[0]=DBL_MIN ;
    while (T--)
    {
        double x,y;
        int sc,sj;
        scanf("%d",&n);
        scanf("%lf",&x);
        sc=1;
        sj=1;
        _max=0x80000000;
        for (int i=1; i<n; i++)
        {
            scanf("%lf",&y);
            a[i]=y-x;
            b[i]=y/x*1.0;
            x=y;
            if (a[i]==a[i-1])
            {
                sc++;
            }
            else
            {
                if (sc>_max) _max=sc;
                sc=1;
            }

            if (b[i]-b[i-1]<0.0000001 && b[i-1]-b[i]<0.0000001) sj++;
            else
            {
                if (sj>_max) _max=sj;
                sj=1;
            }
        }
        if (n==1)
        {
            printf("1\n");
            continue;
        }
//        for (int i=1;i<n;i++)
//            printf("i=%d a[i]=%d b[i]=%f\n",i,a[i],b[i]);
        if (sc>_max) _max=sc;
        if (sj>_max) _max=sj;
        printf("%d\n",_max+1);
    }
    return 0;
}

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <stack>
#include <algorithm>
#include <queue>
#include <map>
#include <cmath>
#define eps 0.00000001
#define pi acos(-1,0)
//#define pr 999983
using namespace std;

int a[1010][1010]= {0};     ///
int b[1010][1010]= {0};     ///
bool c[1010][1010]= {0};     ///
int n,m,_min,zkc;
char s[1010];

int init(int x,int y,int k)
{
    if (x+y > _min) _min=x+y;
//    printf("_min=%d\n",_min);
    if (y<m && b[x][y+1]==0 && a[x][y+1]==-1)
    {
        c[x][y+1]=1;
        a[x][y+1]=1;
        init(x,y+1,k+1);
    }
    if (x>1 && b[x-1][y]==0 && a[x-1][y]==-1)
    {
        c[x-1][y]=1;
        a[x-1][y]=1;
        init(x-1,y,k+1);
    }
    if (y>1 && b[x][y-1]==0 && a[x][y-1]==-1)
    {
        c[x][y-1]=1;
        a[x][y-1]=1;
        init(x,y-1,k+1);
    }
    if (x<n && b[x+1][y]==0 && a[x+1][y]==-1)
    {
        c[x+1][y]=1;
        a[x+1][y]=1;
        init(x+1,y,k+1);
    }
    return 0;
}

int fun(int z)
{
    int jj=min(z,m),ii=z-jj+1;
    bool f=1;
//    printf("z=%d ii=%d jj=%d\n",z,ii,jj);
    while (ii<=n && jj>0)
    {
        if (c[ii-1][jj]==1 || c[ii][jj-1]==1)
        {
            c[ii][jj]=1;
            if (b[ii][jj]==0) f=0;
        }
        ii++;
        jj--;
    }
//                                for (int i=1; i<=n; i++)
//                                {
//                                    for (int j=1; j<=m; j++)
//                                    {
//                                        printf("%d",c[i][j]);
//                                    }
//                                    printf("\n");
//                                }
    if (f==0)
    {
        jj=min(z,m);
        ii=z-jj+1;
        while (ii<=n && jj>0)
        {
            if (b[ii][jj]==1) c[ii][jj]=0;
            ii++;
            jj--;
        }
    }
    if (z+1<m+n) fun(z+1);
    return 0;
}

int print(int ik,int jk)
{
    if (ik+jk>zkc)
    {
        if (c[ik-1][jk]==1)
        {
            print(ik-1,jk);
        }
        else if (c[ik][jk-1]==1)
        {
            print(ik,jk-1);
        }
        printf("%d",b[ik][jk]);
    }
    if (ik+jk==zkc)
    {
        if (b[ik][jk]==1) printf("1");
    }
    return 0;
}

int main()
{
//    freopen("in.txt","r",stdin);
    int T;
    scanf("%d",&T);
    while(T--)
    {
        _min=-0x7f7f7f;
        memset(a,-1,sizeof(a));
        memset(c,0,sizeof(c));
        scanf("%d%d",&n,&m);
        for(int i=1; i<=n; i++)
        {
            scanf("%s",s+1);
            for(int j=1; j<=m; j++)
            {
                b[i][j] = s[j] - '0';
            }
        }
        c[1][1]=1;
        if (b[1][1]==0)
        {
//        printf("OK\n");
            init(1,1,0);
            
            for (int i=1; i<=n; i++)
                for (int j=1; j<=m; j++)
                    if (c[i][j]==1) init(i,j,0);
            zkc=_min;
//            printf("zkc=%d\n",zkc);
        }
        else
        {
            zkc=2;
        }
//        printf("zkc%d\n",zkc);
        if (m==1 && n==1)
        {
            printf("%d\n",b[1][1]);
            continue;
        }
        if (zkc!=m+n)
        {
            fun(zkc);
            print(n,m);
        }
        else
            printf("0");
        printf("\n");
//        printf("zkc=%d\n",zkc);
//        for (int i=1; i<=n; i++)
//        {
//            for (int j=1; j<=m; j++)
//            {
//                printf("%d",c[i][j]);
//            }
//            printf("\n");
//        }
    }
    return 0;
}


最近几场比赛的题目都比较简单 但是他们的判题系统比较坑 搜容易破栈(比赛完了再交就不会破栈)

而且 最小值那点真是坑死了无数人 我就不同吐槽了 

比了四场比赛 感觉每次都只能签到 偶尔还签不到 看着大牛们aaaa 我们wawawa 心情什么都是次要的了 每次刀到脖子边上

 想了想都还是放下了 人还是要有点希望的 说不定下一场还能签到呢 

嗯嗯 继续水下去吧。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

STD 第四场 1001 1002 1004

标签:2015多校联赛

原文地址:http://blog.csdn.net/u012349696/article/details/47251549

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!