Day 0
晚上打了线段树合并与动态
的板子,结果两个都写炸了 。同时,在比赛的界面上有我说的一句名言——“我不拿全班倒数第一我直播吃屎 ”。
一想到明天要与班内的几个神仙比赛,就感觉自己要凉凉。
晚上睡得比较早,
就睡了,毫无信心可言
Day 1
早上颓颓颓,等到了下午的比赛。
比赛开始前几位大佬也在颓,感觉他们都准备得很好要 虐全场了呢
谁叫我这么菜呢 QWQ
开始比赛。
开题。
暴力特别好打,于是果断先拿到了暴力的 分。
接着考虑第二档分。可以发现,若一个数被两个互质的数进行了操作,显然这个数就变成了 ,并且之后也永远是 。由于数据随机构造,可以直接分块做,时间复杂度并不高。
期望得分 分。正解先不想,看 。
暴搜貌似只有 分,于是开始剪枝。 后打完了暴搜+剪枝的程序,然后去测样例 与样例 ,不出意外都过了;但是大样例却输出了比答案大 的数,不是最优解。
不慌,看了下暴搜的代码,发现剪枝剪挂了,把等于号去掉就能过掉样例。
信心满满地提交之后, 神犇突然让本蒟蒻看题……猛然发现,并没有判答案为 的情况,加上去之后再交一遍,并没有什么问题。
接着去 ,树形 式子显然,但是由于指数过大只能拿到 分。先切掉了这 分,期望得分 分。
回顾了一下三题,发现 最为好想。根据套路,爆搜超时就果断……图论建模!!!
我们只需要将每个节点对离它最远的非#节点连边即可,但是走过的路都变成了障碍似乎很难搞的样子……推了推式子,发现从在 区间内 到各个节点需要走 步,于是就建出了一个节点数为 ,边数为 的图。
由于有 ,所以 的 总有一个测试点可以轻松卡掉我……算了,去看 。
画了张图,正解就出来了。但是,唯一的问题也是最重要的问题,如何比较多个 的次方数之和的大小关系。
想了 分钟,不会咕咕咕……
接着,回到 开始对拍。
对拍了第一组数据,就不一样?!
查了一下分块并没有什么问题,发现 语句写错了……可是又不知道哪里写错了,狂喊不会写 语句……
原来是 导致了这种神奇的状况,把 去掉之后,再测一下。
还是不一样?我太难了QWQ
查了 分钟,把整个代码都看了一遍,但是又查不出错误……心态炸锅,仅剩 分钟而 只有暴力分的我表示很慌。
发现分块写挂了,对于小区间的询问与查询被算了两遍,加个 与 的比较,然后再测……
还是不一样?
同样的错误,再改一下,就并无大碍啦~对拍了 组数据, 的情况把电脑跑爆了终于跑出来了,仍然暴力输出的结果与分块输出的结果一样。
比赛结束前 分钟终于搞好了 ,如释重负地倒在了桌子上QAQ
“10,9,8,7,6,5,4,3,2,1……”
由于这是 赛制,我们都在等着排行榜……紧张QAQ
什么鬼?只有 ?而且 还说我 只有 分,是本蒟蒻提前提交而多拿了分?
我太菜了……看了下
的提交记录,发现分块全
了?怎么会呢……原来,
也有较大的时间复杂度,被毒瘤地卡常了。
怎么会写挂? 与 两位神犇过来帮我检查,也没检查出什么来……肯定是 错误,我太菜了。
最高分竟然就是暴力分……群里面刷爆了"群殴毒瘤出题人"的表情包,让 神犇一脸无辜;令人开心的是,他说本场比赛难度有点大了,下一次会减难度。
事实上,无论出题人良心还是毒瘤,我们做到的都是一样的题目。
orz
Day 1.5
神犇上台说了下做法。
T1
可以发现,一个数要么不被改变,要么就被改变而且被除以 。于是我们用可爱的线段树直接维护一个区间的 ,如果目前这个修改的值是这个区间 的倍数,就放弃修改,否则一路递归下去并实时维护一个节点对应区间的 即可。如果 过大,显然 (修改的之)不是它的倍数,就递归修改啦。
没想到 的性质——一个数要么不被改变,要么就被改变而且被除以 ,菜死了QAQ
T2
果然是图论建模。
我们对于每一行,它与它相邻的一个格子连一条权值为 的边,离他最远的非障碍格子连一条权值为 的边就行了……离正解只差一步,菜死了QAQ
T3
我们可以用平衡树(set)来维护该子数中,各条边的权值和的二进制位表示下的各个 的位置,每次启发式合并,然后贪心地大的走第二次,其他仅走一次即可。
忘记了二进制位表示与 维护 的位置,及启发式合并的优化,太菜了QAQ
最后,膜拜神仙 :
orz
orz
orz
orz
orz
orz
orz
orz
GH AK IOI IN ONE SECOND!