比赛记录[Educational Codeforces Round 79 (Rated for Div. 2)]

首先声明,这是本蒟蒻第一次打CF,也是第一次发博客,大佬勿喷

  A                 B                 C              D              E               F

     数学       贪心   N/A           N/A             N/A          N/A

A. New Year Garland

由于第一次打CF,比赛节奏和心态调整不太好,加上英文题目难以理解(本蒟蒻英语太垃圾),在第一题上水了15分钟.

第1题实际上就是理解题意,判断出a[3]<=a[1]+a[2]+1即可,核心代码:

 1 while(t--)
 2 {
 3     scanf("%lld%lld%lld",&a[1],&a[2],&a[3]);
 4     sort(a+1,a+1+3);
 5     if(a[3]<=a[1]+a[2]+1)
 6     {
 7         printf("Yes\n");
 8     }
 9     else
10     {
11         printf("No\n");
12     }
13 }        

B. Verse For Santa

这道第也在于对题意的理解,只要找好贪心的策略,就可以轻松解决,但细节比较多,导致我调了1个小时10分钟,这是思路上考虑不成熟的表现(太弱的表现)

核心代码:

 1 ll maxn=0,p=0,now=0;
 2 while(now+1<=n && sum+a[now+1]<=s)
 3 {
 4     now++;
 5     sum+=a[now];
 6     if(a[now]>maxn)
 7     {
 8         maxn=a[now];
 9         p=now;
10     }
11 }

输出时的细节代码:

 1 if(now==0)
 2 {
 3     printf("1\n");
 4     continue;
 5 }
 6 if(now+1<=n && maxn>=a[now+1])
 7 {
 8     printf("%lld\n",p);
 9 }
10 else if(now+2<=n && maxn<a[now+1] && a[now+1]>a[now+2])
11 {
12     printf("%lld\n",now+1);
13 }
14 else
15 {
16     printf("0\n");
17 }

本篇比赛记录就到此为止了,以后还会继续补充C,D,E,F题的做法

猜你喜欢

转载自www.cnblogs.com/wfzyd/p/12116046.html