• 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……)

     

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

  • 相关阅读:
    EF CodeFirst EntityTypeConfiguration 自关联映射配置
    DDD 领域驱动设计-看我如何应对业务需求变化,领域模型调整?
    DDD 领域驱动设计-看我如何应对业务需求变化,愚蠢的应对?
    【记录】ASP.NET XSS 脚本注入攻击
    【记录】JS 获取图片原始尺寸-防止图片溢出
    让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。
    Building Modern Web Apps-构建现代的 Web 应用程序(一些感想)
    【记录】ASP.NET MVC RegisterBundles
    【记录】JS 生成 URL 二维码
    关于有默认值的字段在用EF做插入操作时的思考(续)
  • 原文地址:https://www.cnblogs.com/hzoier/p/6263885.html
Copyright © 2020-2023  润新知