UOJ Test Round #2

昨天晚上打的这个比赛,简直一颗赛艇啊……

感觉发挥的并不好。比赛的时候比较紧张,最后一题还脑残写了个离散化结果爆零了,哎我怎么这么逗逼……

讲讲比赛经过吧。

比赛之前逗逼地以为是8:00开始,然后淡定了5min就被告知是7:00……哎我怎么这么逗逼把开始时间都记错了2333……

头比赛的时候在写xor和路径,一看还剩下1min+,马上就扔了开始数倒计时。

7:00准时发题,拿到题之后直接开读。

A题目排列顺序,哎好像不太难的样子,不管了读完题再说。

B题目交流通道,卧槽这什么图论还要计数的玩意儿,不会不会。

C题目难度提升,哎卧槽好像是个数据结构题,算了去写A题好了……

读题的时候对面lrd和dbw在那儿讨论上下界网络流,有点吵……不过很快就停了,lrd回来开始读题。

又读了一遍A题,是要求构造一个LIS的DP数组恰好为给定输入的方案,考虑到LIS问题可以用RMQ优化,可以在线读入然后动态维护,鉴于这是个带插入的RMQ,用平衡树维护就好了。一开始写的是Treap,元素先用double标号最后再一遍离散化出解,写着写着发现不对劲,一些情况我不会分类讨论(太紧张了……),算了不用double标号了,直接动态插入最后查询一遍名次就行了,然后一怒之下把Treap删了再写splay……(毕竟查询名次可以直接splay一下然后返回左子树大小嘛……感觉这点比较方便)写了100+行,然后开始调,调了10min感觉不对劲,既然每次直接插入到最后一个比它小的后面,换句话说f值相同的应该降序排列,f值不同的肯定是要升序了,卧槽我是SB吗我干嘛要用splay动态维护啊直接一发std::sort()不就完了嘛……一怒之下把splay的代码扔到一边去了,然后写了一个24行的std::sort(),哎1h+才把第一题写完,我是傻叉……

交上去之后过了样例,感觉好虚啊就写了一发数据生成器和spj,结果spj写挂了调了半天,调出来了比赛都过了一半多了……我菜爆了= =

中间lrd写完了三道题的暴力(没错,就是无脑暴搜……)说他70分到手了,因缺斯汀……

然后开始打暴力,反正暴力也很无脑,lrd直接告诉我第二题暴搜一下然后Floyd判断就有30分了,然而我写完了又调了半天……最后一题写了个暴搜+平衡树维护中位数,然后我脑残以为离散化不会影响结果,就离散化了一发(居然能过样例……简直坑爹有没有……),感觉10分到手了(此时已经只剩0.5h+了……),然后开始去想T2,想了几分钟觉得自己肯定不会,就去想T3,想到9:35没啥进展,然后一看数据范围感觉互不相同的离散化成排列之后肯定有规律,然后就开始用暴搜搜规律,还真特么搜出来了……

(最后两行是一晚上没关机搜出来的……)

这规律多明显啊,每项显然都是可以直接算的,然后码码码加上n<=13的暴力交上去了。写的时候lrd告诉我离散化有反例,想了想好像真是这样,啊感觉好虚要爆零了(毕竟有捆绑测试……)……

晚上睡觉有点一颗赛艇,想着最后一题能不能骗到分,然而很快就睡着了……

早上看见成绩了,woc最后一题还是爆零了……只拿到了rank56,不过好歹涨了点Rating,算是小小的安慰吧……

lrd拿了rank19,我菜爆了……

贴一下第一题的代码(splay的那个傻逼做法就不贴了……):

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 const int maxn=100010;
 6 struct A{
 7     int d,pos;
 8     bool operator<(const A &a)const{
 9         if(d!=a.d)return d<a.d;
10         return pos>a.pos;
11     }
12 }a[maxn];
13 int n,seq[maxn];
14 int main(){
15     scanf("%d",&n);
16     for(int i=1;i<=n;i++){
17         scanf("%d",&a[i].d);
18         a[i].pos=i;
19     }
20     sort(a+1,a+n+1);
21     for(int i=1;i<=n;i++)seq[a[i].pos]=i;
22     for(int i=1;i<=n;i++)printf("%d ",seq[i]);
23     return 0;
24 }
View Code

扔一发官方题解赶紧跑……

反思:

这次比赛的时候过于紧张,A题傻逼做法浪费了1h,B题的60分也没有搞出来,C题写了个暴搜还爆零了……

反映出自己还是太弱,水平还需要提高。

 

下一站,BestCoder Round #91。加油。

(话说下次又是ACM赛制了……Bless all……)

 

(吐槽一发,这特么简直就是遥遥无期啊……)

posted @ 2017-01-09 07:30  AntiLeaf  阅读(178)  评论(0编辑  收藏  举报