首页 > 代码库 > BestCoder Round #93

BestCoder Round #93

技术分享

这么快两天就过去了啊……昨天是April Fool’s Day,但绝对是我过的所有April Fool’s Day里最没意思的一个……

估计再不写就要忘了……还是写写吧= =

 

说好7:00到机房,然而我迟到了3min,等我进机房的时候别人都已经开始码T1了……

总之T1就是个大水题= =每次尽可能往后取直到不能再取为止,配合奇技淫巧STL/pbds黑科技就随便水了……

技术分享
 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<set>
 5 using namespace std;
 6 const int maxn=100010;
 7 set<int>s;
 8 int T,n,a[maxn],ans;
 9 int main(){
10     scanf("%d",&T);
11     while(T--){
12         s.clear();
13         scanf("%d",&n);
14         ans=0;
15         for(int i=0;i<n;i++){
16             scanf("%d",&a[i]);
17             if(s.count(a[i])){
18                 ans++;
19                 s.clear();
20             }
21             s.insert(a[i]);
22         }
23         printf("%d\n",ans+1);
24     }
25     return 0;
26 }
View Code

然后看T2,看上去好麻烦的样子,看了一会儿就决定先去看后面的题了= =

看T3,咦出题人你算期望怎么还要乘上$26^n$啊,咦这明明是一个计数问题啊,看上去不难的样子,算了先读完最后一题再说……

看T4,咦数据范围$n\le 15$是什么鬼啊,这一看就是折半暴搜的节奏啊,在纸上画一画发现不会合并两部分, 算了先弃坑。

中途又想了一会儿T2,但听他们说这题各种麻烦,也就没敢去写。

去写T3,一开始想错了,写了个矩阵算背包,后来lrd讲给我之后我才发现直接用矩阵维护各个$lcm$的转移就行了(令$f[i][j]$表示前i个数的$lcm$为j的方案),然后重新码码码,然而并没有调出来,比赛就结束了。

然后又是喜闻乐见的hack时间……

做题的时候就看见了我们room的一帮神犇,我和lrz和zlj被分到一个room里了,在hack时间到之前我就说咱们可以愉悦地互相伤害了233……

我们room很弱……只有两个人做出来了T2,其余人都只A了T1或者一个都没做出来……lrz先大力叉掉了一个人的T2,然后又尝试叉掉zlj的T2,然而hack了6次都失败了,然后就弃了去hack别人了……我也试了试hack zlj,先交了一波随机极限数据,结果当然是Unsuccessful,然后又交了一个3后面99999个0的数据,结果感人肺腑——Successful……(其实事后想起来这组数据很弱的,但不知为什么就hack成功了……)

达成成就:第一次在(有hack)ACM比赛中hack成功……

然后就开始翻T1的代码,翻了一会儿没啥收获,又过了一会突然翻到了一个小哥的代码:

 if(find(V.begin(),V.end(),……))…… //V是一个vector,find()是<algorithm>里面的函数 

这个人用了vector并且没有排序(显然是没法排序的= =),瞬间意识到find()应该是暴力,造了一个所有数都不相同的数据,Successful。

然后就没有太多时间了,又翻遍了T1,但是似乎再也没有犯傻把T1写错的了……

然后就没有然后了……只做了T1居然还排名这么高,感谢hack给我加了150分……

System Test的时候lyc的T2 FST了,惨啊……lrd还一直担心FST,不过最后还是都过了……(给A了前三题的dalao跪了= =)

Rating变化是这样的……

技术分享

(所以还是想吐槽为什么A了一道题排名就这么高……)

 

下次的BC时间好像还没定……也许APIO和CTSC的时候可以打一打防止颓废?可是主题明明就是颓啊

 

BestCoder Round #93