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 }

然后看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的时候可以打一打防止颓废?可是主题明明就是颓啊

时间: 2024-10-08 14:38:02

BestCoder Round #93的相关文章

BestCoder Round #93 ABC

A: 题目大意: 将数组划分成最少的段,每段的数两两不同. 题解:直接用一个map记录一个数是否出现过,贪心的每次取最多个数就好. B: 题目大意: 给出一个0-9组成的字符串,问能否删掉K个数字,使得最后形成的数没有前导零且能被3整除. 题解: 最后会留下N-K个数,枚举第一个数的位置,然后问题就可以转化为判断同余方程0*x+1*y+2*z = v (mod 3) 是否有解.   其中(x+y+z=K-1  && x<=a && y<=b &&

从lca到树链剖分 bestcoder round#45 1003

bestcoder round#45 1003 题,给定两个点,要我们求这两个点的树上路径所经过的点的权值是否出现过奇数次.如果是一般人,那么就是用lca求树上路径,然后判断是否出现过奇数次(用异或),高手就不这么做了,直接树链剖分.为什么不能用lca,因为如果有树退化成链,那么每次询问的复杂度是O(n), 那么q次询问的时间复杂度是O(qn) 什么是树链剖分呢? 就是把树的边分成轻链和重链 http://blogsina.com.cn/s/blog_6974c8b20100zc61.htmlh

hdu 5195 DZY Loves Topological Sorting BestCoder Round #35 1002 [ 拓扑排序 + 优先队列 || 线段树 ]

传送门 DZY Loves Topological Sorting Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 221    Accepted Submission(s): 52 Problem Description A topological sort or topological ordering of a directed

BestCoder Round #29 1003 (hdu 5172) GTY&#39;s gay friends [线段树 判不同 预处理 好题]

传送门 GTY's gay friends Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 264    Accepted Submission(s): 57 Problem Description GTY has n gay friends. To manage them conveniently, every morning he o

BestCoder Round #1 1001 &amp;&amp; 1002 hdu 4857 4858

hdu 4857 逃生 第一题是拓扑排序,不是按照字典序最小输出,而是要使较小的数排在最前面..赛后弄了好久,才比较明白,我一直以为 反向建图,i从1到n,开始深搜dfs( i ),对i点的边,由小到大继续搜一下,同时标记搜过的数,搜过之后就不再搜,搜到底之后ans[cnt++] = u;这样顺序输出就是答案,后来经过超哥指点,才明白深搜贪心是错的.只有 反向建图,用优先队列把较大的数尽量排在前面,然后反序输出才是正解.. 1 #include<iostream> 2 #include<

BestCoder Round #91

传送门:http://acm.hdu.edu.cn/search.php?field=problem&key=BestCoder+Round+%2391&source=1&searchmode=source A题:给你n种字母,每种字母有个权值vali,共cnti个,现在让你在里面挑出任意数量的字符,组合成一个字符串,该字符串的权值的计算方式为val1*1+val2*2+--+valn*n,让你输出字符串最大的权值是多少.这题很容易会有一个错误的贪心,就是把val为负的舍去,然后v

BestCoder Round #65 (ZYB&#39;s Game)

ZYB's Game Accepts: 672 Submissions: 1207 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description ZYBZYBZYB played a game named NumberBombNumber BombNumberBomb with his classmates in hiking:a host keeps a

hdu5418 BestCoder Round #52 (div.2) Victor and World ( floyd+状压dp)

Problem Description After trying hard for many years, Victor has finally received a pilot license. To have a celebration, he intends to buy himself an airplane and fly around the world. There are n countries on the earth, which are numbered from 1 to

hdu 5163 Taking Bus (BestCoder Round #27)

Taking Bus                                                               Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 501    Accepted Submission(s): 203 Problem Description Bestland has a v