codeforces round #332

原创 2015年11月21日 16:33:31

A题讨论四种情况就行,不多说。

B题建立hash表就行了,找不到就是impossible,对应的坐标多了就是第二种,否则就是第一种,输出就行了,

代码写的有点乱:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<queue>
#include<set>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<map>
#define LL __int64
using namespace std;

const double pi=acos(-1.0);
const int N=1e5+10;
int hash[N],re[N],a[N],b[N];
int main()
{
    int n,m;
   while(cin>>n>>m){
    memset(hash,0,sizeof(hash));
    int flag=1;
    for(int i=1;i<=n;i++)
    {
        int x;
        scanf("%d",&x);
        if(hash[x]!=0)
        hash[x]=-1;
        else
        hash[x]=i;
    }
    for(int i=1;i<=m;i++)
       scanf("%d",&b[i]);
    for(int i=1;i<=m;i++)
        re[i]=hash[b[i]];
    for(int i=1;i<=m;i++)
    {
        if(re[i]==-1)
            flag=2;
    }
    for(int i=1;i<=m;i++)
        if(re[i]==0)
        flag=0;
    if(flag==1)
    {
        cout<<"Possible"<<endl;
        for(int i=1;i<m;i++)
            cout<<re[i]<<' ';
        cout<<re[m]<<endl;
    }
    else if(!flag)
        cout<<"Impossible"<<endl;
    else
        cout<<"Ambiguity"<<endl;
   }
   return 0;
}
C题其实也不难,当时有点乱了,其实就差一步就对了,我想的是判断每一个位置前面的最大数,和后面的最小数,然后就乱了,

其实只要判断每个位置的前面最大数小于等于后面的最小数就行了,赶紧写了一发AC,悔恨啊。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<queue>
#include<set>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<map>
#define LL __int64
using namespace std;

const double pi=acos(-1.0);
const int N=1e5+10;
int a[N],b[N],c[N];
int main()
{
    int n;
   while(cin>>n)
   {
       memset(b,0,sizeof(b));
       memset(c,0,sizeof(c));
       int sum=0;
       for(int i=0;i<n;i++)
           scanf("%d",&a[i]);
       int ans=0;
      for(int i=0;i<n;i++)
       {
           ans=max(a[i],ans);
           b[i]=ans;
       }
       ans=(int)1e9+10;
       for(int i=n-1;i>=0;i--)
       {
           c[i]=ans;
           ans=min(a[i],ans);
       }
     //  for(int i=0;i<n;i++)
      //  cout<<b[i]<<' '<<c[i]<<endl;
       for(int i=0;i<n;i++)
        if(b[i]<=c[i])
        sum++;
       cout<<sum<<endl;
   }
   return 0;
}
D题其实也不难,很容易可以想到求一个矩形内部包含的正方形的公式,然后把公式展开,就可以知道n只需要枚举到n的1/3次方即可,

然后可以发现n已知的情况下,公式对于n来说是一个一次方程,同时知道答案是对称的,只需要求n<=m的情况,n>m的情况添加进去就行了。

这题总的来说就是一个数学题,而且公式很容易想到,关键是去拆开,当时早知道先做这个题了。

具体细节看代码:



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

Educational Codeforces Round 27

A 题意:把2 * n个人分成两组,使得无论两组的人怎么进行比赛 第一组的人始终都要保持全赢,如果两个人能力值相等两人都可以赢 思路:排序后只要保证n + 1个人的能力值大于第n个人的能力值即可 #i...
  • sasuke__
  • sasuke__
  • 2017年08月23日 10:35
  • 202

Codeforces Round #258 (Div. 2)-(A,B,C,D,E)

A:Game With Sticks 水题。。。每次操作,都会拿走一个横行,一个竖行。 所以一共会操作min(横行,竖行)次。 #include #include #include #include ...
  • rowanhaoa
  • rowanhaoa
  • 2014年07月25日 14:39
  • 1484

【解题报告】Codeforces Round #401 (Div. 2)

简略的解题报告。
  • TRiddle
  • TRiddle
  • 2017年02月25日 17:55
  • 415

Codeforces Round #374 (Div. 2) 终场翻盘记

讲道理这场cf本来是不想打的,因为感觉时间有点晚(主要还是国庆作业爆表了)。。后来不知道为什么还是决定打了。        开场前发现注册人数又8000+,(为什么我一打比赛就8000+啊)     ...
  • lych_cys
  • lych_cys
  • 2016年10月01日 09:48
  • 735

Codeforces Round #460 (Div. 2)题目题解

A.Supermarket (水题) #include #include #include #include #include using namespace std; int mai...
  • wyxeainn
  • wyxeainn
  • 2018年01月31日 23:17
  • 81

Codeforces Round #327 (div.2)(A B C D)

codeforces round #327 (div.2)
  • lincifer
  • lincifer
  • 2015年10月26日 13:11
  • 1100

Codeforces Round #444 (Div. 2)-贪心&尺取-Ratings and Reality Shows

http://codeforces.com/contest/887/problem/D 一个模特有两种活动。 ① 拍照片,挣钱 a。 ②开演唱会,花费b 给定模特这两种工作的时间表。 模特可以...
  • qq_35781950
  • qq_35781950
  • 2017年11月11日 20:11
  • 130

Codeforces Round #427 (Div. 2) A B C D

A. Key races time limit per test 1 second memory limit per test 256 megabytes input standard i...
  • sinat_35406909
  • sinat_35406909
  • 2017年08月01日 02:03
  • 699

Codeforces Round #455 (Div. 2)-A,B,C,D,E

http://codeforces.com/contest/909 差F题了,有机会再补吧。F是思维题。 断断续续补了好久。。 比赛就做了A,B 。 A 给你两个名字,要求一个名字由这两个的...
  • qq_35781950
  • qq_35781950
  • 2018年01月08日 18:42
  • 47

Patrick and Shopping Codeforces Round #332

Description Today Patrick waits for a visit from his friend Spongebob. To prepare for the visit, Pa...
  • q923714892
  • q923714892
  • 2016年07月21日 15:23
  • 80
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:codeforces round #332
举报原因:
原因补充:

(最多只允许输入30个字)