zoukankan      html  css  js  c++  java
  • 「杂录」CQOI 2018 背板记

    背景

    经过一天天的等待,终于迎来了(CQOI2018),想想(NOIp)过后到现在,已经有了快要半年了,曾经遥遥无期,没想到时间一转眼就过去了……

    日志

    (Day0)

    因为明天就要考试了,早上来了一发模拟考,考得心态炸裂……不过横向对比了一下,同校的同学考得也差不多的样子,所以还算是有一点安慰吧……(什么,你问我具体分数?)

    下午去试机,发现(GUIDE)用不起,所以只能用(CodeBlocks),然后对字符串心虚的我决定打一发后缀数组,然后果然啊,错误连篇……我是不是该滚粗了……然后同校(dalao)过来一眼秒掉错误,(orz)狂膜(JeremyGuo)巨佬。果然我这种后缀数组不会打的人只有被虐啊……

    晚上看了一下网络流和线段树,根据(CQOI)的套路肯定会考的吧……

    (Day1)

    考试前喝了半瓶咖啡,然后就进考场,发现(C)盘竟然也解封了,然而并没有什么用……写了一个自动生成对拍程序的程序放着。

    然后发了奇怪的密码NOI2018cq-cs,让我吓得以为和湖南联考(不过湖南好像很早就省选完了),结果只是由于(NOI)在长沙而已。然后就是读题了……

    先看(t1),这……不是(BSGS)的模板题吗?上个星期才学会的……好好好很可做!
    再看(t2),数有向图中有多少棵以(1)为根的树,不会(orz)……
    又看(t3),这不就整个一个组合数学吗?预处理组合数,(Lucas)定理,快速幂一顿乱搞就好
    了……再看复杂度,(n=10^7,a=45),时限(1s),跑(O(nlog a))怕不是卡常数神题。

    然后考虑了一下决定打(t1),很快就调出来了,但是心虚……于是就开始对拍,然后去想(t2)

    想了一会儿,还是没有思路。于是就看准了(nleq 10)的数据点打了一个状态压缩(DP),细节挺多的,很虚……不过测了完全图之类的特殊情况,答案都正确所以还是比较放心。此时(t1)已经快拍了(1W)组了,没有错误于是很放心地关掉了对拍((flag!!!))

    然后(t3)想想还是写了组合数学,代码巨短让我很怀疑,一测果然时间爆炸……经过奥妙的卡常数底层优化,还是只能优化到(1.5s)。这个时候真的很想裱出题人,只有两个分数段(30pts)(100pts)(30pts)(O(2^n))枚举都可以过的,(O(nlog a))就算不是正解,掉到暴力分也是让人醉了。

    考试结束前(30min),检查了一下代码,没有什么低级错误,然后就结束了。

    (交流后得知(t2)是矩阵树板题……(orz)有两道模板……)

    下午回家浪了一波,又复习了一下网络流和字符串(毕竟今天没有考……)

    (Day2)

    把昨天没喝完的咖啡喝完了进去(节约从我做起)。
    跟昨天一样,(C)盘解封了,并且昨天的题目和程序都还在(这是什么鬼)。

    扫了一眼(t1),秒掉——状压(DP+)卡常……不过安卓的屏幕手势真的很有趣……

    然后看(t2),九连环?糟了我忘了格雷码了……等等,这题可以找规律?再等等,(nleq 10^5)?竟然考高精度?还多组数据?心里赶紧想了一个压位卡常,把(30)次递推转化成(1)次的暴力,恩,复杂度差不多……吗?

    最后看了看(t3)(emmmmmmm),搞个前缀异或和,就是在查询某个区间内某一个数出现的次数……诶,这不是莫队吗?还是一道做过的原题?出题人怕不是在逗我?连数据范围都没改?然后猛然回头,这两天都做了什么题?

    一道(BSGS)的模板题,一道(MatrixTree)的模板题,一道莫队模板题,一道无脑(DP),一道高精度(不要问我(d1t3))……这不是(NOIp)难度吗……字符串、网络流去了哪里?

    秒掉(3)道题之后想要裱出题人,但还是冷静地先把(t1)(t3)解决了……然后拍了一下(t3),没有什么状况,时间也可以过((O(nsqrt n))还很快呢……)。

    (t2)打完之后疯狂卡常,还是和昨天一样,只能卡到(1.3s)。(╯‵□′)╯︵┻━┻
    没办法,只能老老实实写(FFT)快速幂了……最后(10min)调出来,好在其他两题已经检查过了。

    小插曲:发现自己昨天的对拍程序和数据生成器,发现没有设随机数种子!!!也就是说,拍了(1W)组和没拍差不多……

    下午吃完饭后等成绩,出来后是(70+30+45+100+100+100),非常惊讶,看来(BSGS)果然挂了。由于考得太水了,好多人都是(500+)(NOIp)挂掉的我自然不可能进队……不过明年还有机会的,要加油!

    (Day3)

    回学校了,上语文课讲《边城》,里面有个人叫大佬,不管是书名还是人名都好喜感的(233)

    题目及题解

    (d1t1)

    1. 题目
      给定(P,g)(g)是质数(P)的一个原根。再给定(Aequiv g^apmod P,Bequiv g^bpmod P),求(g^{ab}mod P),其中(P,A,B< 2^{31},gleq20)

    2. 知识补充
      (BSGS),全称(Baby-Step-Giant-Step),也叫大步小步算法。专门解决求令(a^xequiv bpmod m)的最小(x),在扩展(BSGS)中,甚至不需要(a,m)互质,当然互质肯定更好写。

    3. 题解
      辣鸡出题人,竟然出这样的模板题!连(ex)都不带的!只要用(BSGS)求出(a,b),直接快速幂计算即可……

    (d1t2)

    1. 题目
      给定一个有向图,求里面有多少个(1)为根的树。其中节点数小于等于(250),无重边和自环。
    2. 知识补充
      (MatrixTree)定理,有向图的入数矩阵减去邻接矩阵,去掉第(i)行和第(i)列,行列式求值即为以(i)为根的树形图个数。
    3. 题解
      裸题还需要讲吗?所以这道题没有做出来还是知识缺乏的缘故……但是出这样一道模板题真的好吗?不会的选手不可能想出来,会的选手一打就(AC),不考思维,只考背板能力,不知道出题人怎么想的。

    (d1t3)

    1. 题目
      一个(01)串为交错序列,当且仅当没有两个(1)相邻。一个交错序列的权值为(x^ay^b)(x)(1)的个数,(y)(0)的个数,(a,b)为给定的数(注意假定(0^0=1))。求所有长度为(n)的交错序列的权值和对一个质数(m)取余,其中(nleq 10^7、a,bleq45、mleq10^8)
    2. 知识补充
      然而还并不会做
    3. 题解
      然而还并不会做

    (d2t1)

    1. 题目
      求有(n<20)个解锁点的安卓手机解锁手势方案数。(n)个点的坐标全都告诉你了,一个手势合法必须满足:
    • 不少于(4)个点
    • 连线必须是直线
    • 不能跨过未经过的点
    • 不能走到已经经过的点,但是可以跨过(相信用过解锁手势的同学更容易理解)
    1. 知识补充
      然而并没有什么要补充的
    2. 题解
      状态压缩(DP)一眼题,预处理两点间线段上的其他点即可,不多说。

    (d2t2)

    1. 题目
      求最少需要多少步才能拆下(n)连环,其中(nleq10^5)
      不明白什么是(n)连环请百度搜索9连环
    2. 知识补充
      然而并没有什么要补充的
    3. 题解
      推出公式(ans_i=2cdot ans_{i-1}+(i\% 2))
      然后高精度快速幂,用(FFT)优化乘法即可(然而卡常,不过一般都可以过)

    (d2t3)

    1. 题目
      给定(n,k),以及数组(a_{1...n}),有(q)个询问,每次询问(l_i)(r_i)间有多少组(xleq y)满足(a_x)(a_y)的异或和为(k),所有数都小于等于(10^5)
    2. 知识补充
      莫队算法,请自行出门百度,不好讲……
    3. 题解
      搞一个前缀异或和,就变成了查询某一段区间中有哪两个数异或起来为(k),直接莫队硬上即可。

    总结

    对比赛

    总的来说,这场(CQOI2018)就像是模板题大赛一样,竟然比(CQOI2016)还要模板……可以拿给学弟学妹们刷模板题……

    并强烈吐槽出题人。

    • 不开(O2)(FFT)就是耍流氓

    • 卡常数题目(1s)时限就是耍流氓

    • 模板题一坨就是耍流氓

    • 子任务只有(0,30,100)就是耍流氓

    • (O(nlog n))(O(2^n))无区分度就是耍流氓

    对队友

    这一次我们学校一共有(5)个高二,(2)个高一,(1)个初三还有(1)个初二的参加——就是我……除了高二的(4)位大佬进队,其他全体阵亡……最可惜的是我们学校现在最厉害的女选手(YuKi),苦苦学了(3)年的竞赛,成绩稳定,虽比不上四位大佬,但是每次比赛都可以得到高分,尤其在雅礼集训时。这一次也是失误极少,但是由于有道模板题没有学过,直接阵亡,另外(Kyle)同学差个几十分就可以进队了,还是很可惜。

    对自己

    这次虽然是一场模板题检测,但是还是觉得不够理想……矩阵树定理是曾经看过的(学莫比乌斯反演翻书的时候),但是一直都没有认真看过博客,连矩阵树是拿来干嘛的都不知道。包括(BSGS),得到(70pts)多半是(map)被卡常了(或许?不过自己跑确实是(920ms)左右),嫌累,偷懒,然后就出锅了……

    不过,也许这一次我还有一些不足,但我确实是真真正正地从一位(NOIp)选手走过来了。我这半年的时光并没有白白流失,因为在这半年里,我真切地感受到了自己的成长。或许有过迷惘,或许有过失落,也有过(AC)的欣喜,有过终于把一道题调过了的满足。我想,虽然没有进队,但是这一路上伙伴的言语,自己的进步,都在告诉我:我的努力没有白费。(OI)的路,我还要走下去,并且脚步愈来愈坚定。

    虽然感觉(CQOI)出的题都太(naive)了,但是依然没有(AK),相比之下,四位学长都取得了很好的成绩。所以,我毕竟还是修炼不够呢……还是希望能够坚持下去,不畏困难。毕竟是自己选的路,跪着也一定要走完。

    毕竟,来日方长。

  • 相关阅读:
    软件工程第二次作业
    软件工程第一次作业
    配色一览
    软件工程(2018)第二次个人作业
    Android ImageView设置图片
    Android 打开网络连接
    Android 传感器简记
    适配Android O的通知
    Android日记打包
    Android轻量数据库
  • 原文地址:https://www.cnblogs.com/ModestStarlight/p/8854955.html
Copyright © 2011-2022 走看看