首先声明,这是本蒟蒻第一次打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题的做法
原文地址:https://www.cnblogs.com/wfzyd/p/12116046.html
时间: 2024-10-28 10:05:35