「こんなきれいな星も、やっぱりここまで来てから、見れたのだと思うから。だから・・もっと遠くへ・・」

APIO2012

首先作为某连续两年抽不中A类的木RP傻叉表示默默仰慕抽中两次1/3概率连续两年A类的QMD
于是作为没有RP的傻叉,某果断被分在了全场最差的机房…… 配置单核2.67GHz CPU,而且要在虚拟机里工作……(其他两个机房一个2*3.7GHz,一个8*3.4GHz)继续默默仰慕能分在福利机房305的QMD

Day1

看了第一题,暴力显然能O(N^2),然后YY了一下,感觉如果将所有权值排序,然后顺次插入,问题就转化成了一条路径整体加减和查询一条路径最小值。于是果断写了树链剖分…… 对拍完花了1h45min…… 不过讲题时候发现我傻掉了…… 直接平衡树启发式合并就能AC…… 我这个树链剖分做法完全是非主流做法……

然后还剩3h15min…… 看了第二题…… YY了一下感觉首先将回答为0的区间全删掉,然后如果剩余的灌木数目就是忍者数目那么直接输出…… 否则将所有包含了其他区间的区间全部删掉…… 然后按左端点排序,那么右端点也是有序的了,可以发现能包含某个灌木的区间必然是连续一段…… 于是问题转化成了,给定N个区间,取不超过K个覆盖[1,M],哪些区间是必须取的。这样显然能平方…… 然后我就犯2了…… 我把问题进一步转化成了,对于每个区间计算其能“延伸”出去的最远的两个右端点,于是建出一个有向无环图,边数O(2N)的…… 然后就转化成每次询问假如删掉某个点那么S到T最短路是否小于等于K…… 这个想了很久都没想法,于是只好放弃…… 交了O(N^2)朴素…… 事后发现我错在最后一步…… 可以观察到最少区间数目其实就是互不相交的区间个数,这个就好做了…… 我把它直接转化成有向无环图显然丢弃了很多性质,过于一般化了……

因为YY的太慢,写完第二题的朴素花了整整1h…… 于是只有2h15min了…… 然后看第三题…… 先花了10min写完了10分的朴素…… 然后就开始犯2了…… 我想,对于每个苦无,只要找到和它相撞的最早的苦无就行了…… 然后就矩形面积并…… 然后一YY,感觉直接map套set然后线段树做矩形面积并就行了? 这个做法显然是错的…… 因为没有考虑和某个苦无理论上到最早相撞的苦无可能更早时刻已经被撞掉了……(吐槽:你丫SB啊不读题?! 明明题目的图里都说了这种情况了!)因为我过于SB完全没想到这个情况,于是直接开写…… 于是我写啊写啊写啊写啊写了2h终于写完了,然后发现过不了样例,然后就没有然后了= = 虽然这个算法的矩形面积并部分可以直接用在40分算法里,但已经没时间改了…… 于是只能交了10分朴素……

最后貌似第二题我常数优化做的比较好,搞到了70…… 最后结果100+70+10=180…… 不知道能什么牌囧……

UPD:Au线161于是就Au了…… >_<