zoukankan      html  css  js  c++  java
  • Lyft Level 5 Challenge 2018

      打猝死场感觉非常作死。

      A:判一下起点和终点是否在其两侧即可。

    #include<iostream> 
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int read()
    {
        int x=0,f=1;char c=getchar();
        while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
        while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
        return x*f;
    }
    #define N 
    int n,ax,ay,bx,by,cx,cy;
    int main()
    {
        n=read(),ax=read(),ay=read(),bx=read(),by=read(),cx=read(),cy=read();
        if (bx<ax&&cx>ax||bx>ax&&cx<ax||by<ay&&cy>ay||by>ay&&cy<ay) cout<<"NO";
        else cout<<"YES";
        return 0;
    }
    View Code

      B:由平方差公式,当且仅当a-b=1且a+b为质数时a2-b2是质数。

    #include<iostream> 
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int read()
    {
        int x=0,f=1;char c=getchar();
        while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
        while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
        return x*f;
    }
    #define ll long long 
    int T;
    ll n,m;
    int main()
    {
        T=read();
        while (T--)
        {
            cin>>n>>m;
            ll a=n+m,b=n-m;
            if (b>1) {cout<<"NO
    ";continue;}
            bool flag=1; 
            for (ll i=2;i*i<=a;i++)
            if (a%i==0) {flag=0;break;}
            if (flag) cout<<"YES
    ";
            else cout<<"NO
    ";
        }
        return 0;
    }
    View Code

      C:若后继状态都为必胜态则该状态为必败态,否则为必胜态。可以按数从大到小暴力更新,由调和级数复杂度是有保证的。

    #include<iostream> 
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int read()
    {
        int x=0,f=1;char c=getchar();
        while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
        while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
        return x*f;
    }
    #define N 100010
    int n,a[N],id[N],flag[N];
    int main()
    {
        n=read();
        for (int i=1;i<=n;i++) id[a[i]=read()]=i;
        memset(flag,255,sizeof(flag));
        flag[id[n]]=0;
        for (int i=n-1;i>=1;i--) 
        {
            int x=id[i];
            for (int j=x-i;j>=1;j-=i)
            if (a[j]>i&&!flag[j]) {flag[x]=1;break;}
            if (flag[x]==-1)
            for (int j=x+i;j<=n;j+=i)
            if (a[j]>i&&!flag[j]) {flag[x]=1;break;}
            if (flag[x]==-1) flag[x]=0;
        }
        for (int i=1;i<=n;i++) if (flag[i]) printf("A");else printf("B");
        return 0;
    }
    View Code

      D:因子个数在3~5之间仅有这几种情况:pq,p2,p3,p4。对于p的幂次情况可以直接开方计算,将所有所得质数保存下来。然后考虑pq,将这个数除掉其与之前出现的所有质数的gcd,剩下的就是新出现的质因子了。开始直接交了一发泼辣的肉不出意外的T掉了。然后可能因为太晚了脑子不清醒,以奇怪的方式开始码正解,前前后后交了五次最后还是fst掉了。

      E、F、G:怎么可能会啊。

      result:rank437 rating+7

  • 相关阅读:
    Akka(2):Actor生命周期管理
    Akka(1):Actor
    Akka(0):聊聊对Akka的初步了解和想法
    FunDA:一个开源的函数式数据处理工具库,也是Slick的补充
    FunDA(17)- 示范:异常处理与事后处理
    FunDA(16)- 示范:整合并行运算
    FunDA(15)- 示范:任务并行运算
    FunDA(14)- 示范:并行运算,并行数据库读取
    FunDA(13)- 示范:用户自定义操作函数
    thinkjs中自定义sql语句
  • 原文地址:https://www.cnblogs.com/Gloid/p/9753730.html
Copyright © 2011-2022 走看看