• GDOI2020 游记


    Day 0

    上午码力全开 一连切了一堆模板题

    希望考场上不要忘吧QAQ

    坐了2h的车到广州,到了酒店发现位置似乎很偏。。。附近根本没有什么超市餐厅什么的

    晚上还是在写模板题。。。

    Day 1

    看了下题 感觉T3不太可做。。。T2打算过会有时间再来推

    于是先去写T1

    第一眼看起来好像是三分最佳温度?然后写&调了1.5h左右(现在就是后悔)

    发现这个函数平的地方太多了,三分很难找到最高点。。。

    于是决定先去写下T2的部分分,避免调T1调到考试结束

    花了20min写了subtask1(暴力)和subtask2(Lucas定理),30pts

    没去推式子,都是直接模拟的 考试结束之后想想m=0的式子似乎不是太难推,就是个二项式定理。。。但是也就多10pts

    不过考完看了题解 什么第二类斯特林数,下降幂 似乎根本没做过这类题啊 我太蒻了

    更搞心态的是考完发现好像人均爆切T2?

    T1发现三分不可做,于是决定换一个思路

    想了一会终于想到 直接二分找中间的断点就是最优解了。。。感觉自己被一道思路这么sb的题卡了这么久

    距离考试结束只有2h了 感觉今天要0题AC退场了。。。

    然后写T1,发现自己只会(O(nlog^2 n))的树状数组套二分。。。

    写出来发现还要找到最优温度区间内最高的温度 这个好办 再二分往后找一下就行了

    写完赶紧拍了一下,万幸最后是拍上了

    抱着常数小的侥幸心理测了一下极限数据 跑了10+s。。。于是放弃卡常了

    然后回头看了一眼T2,T3,感觉还是非常不可做的样子。。。

    再来想想T1的(O(nlog n))做法 感觉应该是在线段树上二分(实际上确实是)

    但是怎么二分找断点?想到可以维护冰火的差值 然后找最接近0的位置?

    于是去码了一下 写完发现虽然断点是找到了 但是并不会找最高的最优温度。。。似乎还要再写一个线段树上二分?

    发现自己线段树维护的东西不太对 应该要维护最大最小值比较方便。。。

    然后此时只剩15min了,想到就算写完线段树还要调半天,于是很无奈的把之前拍过的60分做法放上去了。。。希望CCF能放我几个点过去?

    要是T1开场没浪费这么多时间 多30min说不定能把T1调出来。。。感觉这场这个分数低于预期了

    出来之后本校神犇说大众分160?感觉自己可能是GDOI2020垫底选手

    期望得分60+30+0

    奶一口明天有字符串和树论

    Day 2

    两天的密码都是随机串。。。不过都一次输对了

    看到T1「信号传递」。。。总觉得昨天在哪见过这个标题?

    看题 (mle 23)一眼状压DP 考虑怎么压状态纠结了半天 最后口胡了一个(O(n^22^n))的DP 两个小样例都过了?

    我:就这?

    然后拍了一下 居然拍上了。。。我自己都不知道这个DP正确性怎么证。。。

    然后花了半个多小时把DP优化到(O(n2^n))。。。但是常数爆炸,空间爆炸 预处理的时候开了4个辅助数组

    再拿回去拍,试图把对拍的数据增大一点 WA了?突然慌得一匹

    然后发现其实是暴力程序的数组开小了。。。

    (m=22)的点跑了2.4s 感觉80分很悬?

    而且数组大小爆炸 自己算了一下开了480MB。。。限制是512MB 希望不会MLE(应该用不到这么多就没关系吧?)

    upd: 用lemon测了一下 虽然似乎不会MLE 但是(m=22)的点T掉了啊啊啊啊

    T1大概一共花了90min写完(O(m2^m))+对拍

    然后看了一下T2 T3

    T3是那个什么矩阵树定理?没学过,告辞

    T2似乎很可做?但是不知道把区间全部数+1之后异或和会怎么变

    手推了一下发现可以维护(log n)个桶记录每个数模(2^i)的余数,然后就可以(O(log n))处理区间+1后异或值的变化

    然后发现套一个树上启发式合并就可以做到(O(nlog^2 n))了 众所周知dsu on tree的常数不大 于是写了一下 大样例又是直接过?今天rp++啊

    测了极限数据发现2.1s。。。然后发现取模(2^i)可以改成按位与((2^i-1)),然后就变成了1.8s。。。感觉还是很悬 但是没办法了

    花了10min写对拍 完美的拍上了 就没去管了 感觉应该能AC?

    中间其实码了挺久的 我的算法细节比较多 写完这题差不多还有1h多

    然后看一下T3 10pts显然可以暴搜

    第二个subtask是树或者基环树 基环树可以枚举断边

    然后很蠢地写了dfs找环+线段树计算gcd

    出考场后一众神犇:为什么要写线段树?不是最多才30条边吗?暴力枚举断哪条不就完了?

    写了100多行拿到了30分

    然后剩下30min基本就是在思考T1能不能优化到(O(2^m)) 感觉不太可做 但是就算常数奇小 (O(m2^m))真的能过(m=23)吗?

    不敢写register。。。万一CE爆零怎么办?

    然后没有得出任何结果 于是就盯着对拍程序等到考试结束了

    期望得分70+100+30 希望T2不要被卡掉。。。

    upd:完了 测了下链 发现T2桶数组开小了 如果点权卡满的话 链的两个点都要挂掉了 n卡满的点也不一定过得去。。。感觉要70+40+30原地爆炸了

    被洛谷阴间数据卡到30分。。。这点权怕不是全是500000吧/jk 随机点权应该能有60?

    6.23 upd:果然D2T2还是被卡爆了。。。总分60+30+0+80+30+25=225

    D2T1比预想的高10分?真就少爷机呗 D2T3蜜汁WA了5分

    最搞心态的是 如果D2T2数组没开小就AC了。。。295->225

    反正295也不是个多高的分数。。。

    番外:

    你们可能不知道GDOI考到600分是什么概念

    我们一般只会用两个字来形容这种人:神犇!

    我经常说一句话,当年您能 AK GDOI,我GDOI切一题不是问题。

    埋伏他一手,这个Day1不能做,这个Day1不用做,我切Day2。

    反手奶一个超级树论题,闷声大树论。他真出超级大树论?但是不用怕,他的题孙不了我。点权值加深度,异或和,很牛逼这个题,如果把这个题换成模板题,我这把将绝杀,但是换不得。

    n<=500000,,直接套启发式合并。

    敲一份代码一遍过样例。对拍快点,对拍,暴力程序你n<=5000都跑这么慢吗?暴力程序你快点啊!对拍别磨磨蹭蹭的。

    对拍爆出WA了。暴力程序写错了,应该这么写的。

    给出题人倒杯茶好吧,出题人给你倒一杯卡布奇诺。

    给出题人倒一杯卡布奇诺。开始你的毒瘤数据秀!卡他,卡他,漂亮!(悲)

    20个数据点你能秒我?你能秒杀我?你今天能把我卡到30分,我!当!场!就把这个电脑屏幕吃掉。

  • 相关阅读:
    后端程序员之路 6、Python fabric
    后端程序员之路 5、.conf、libconfig
    后端程序员之路 4、一种monitor的做法
    后端程序员之路 3、fastcgi、fastcgi++
    后端程序员之路 2、nginx、php
    后端程序员之路 1、linux、centos
    F#之旅9
    F#之旅8
    F#之旅7
    F#之旅6
  • 原文地址:https://www.cnblogs.com/ak-dream/p/GDOI2020.html
Copyright © 2020-2023  润新知