集训队互测总结

LZ先去喝口翔…

(我会说我是骗经验的?)

 

嘛..集训队互测终于结束了,我就简单的总结一下吧.

首先我感觉现在的OI真心是比谁挂的少,只要做到傻逼题会做,难题骗点分,也不要挂题,就基本能混的很好了.

还有就是心态的问题,我感觉我现在心态非常不错,能进就进,不进打gal去,压力毫无.也许这样的心态才是最重要的吧.

另外就是比赛策略的问题,我感觉我的比赛能力还是不够成熟,还是会发生某题题目耗时过多导致悲剧的情况,一般来说比赛之前都是要计划一下比赛的时候要做些什么的,一开始的时间最好拿来想一下每道题目然后列个能得分的表.

最后就是对拍的问题,我感觉在互测中由于我勤于对拍,所以正确率非常高,对拍的话无论是时间空间正确性都要拍,这个是很关键的.

 

(本来是想写详细的总结的,残念的是很多比赛的细节给忘光了)

 

说到稳定性,我统计了大家的标准方差,可以看出gyz的稳定性是最高的,是0.1747,其次是ayq(0.1857),再后面是我(0.1890),最高的是wqs(0.3110)…可以看出wqs的战斗力跟妹子密切相关..

 

由于详细的写不了了,就换成一些吐槽吧.

1:某校原题团给我送了3个rank1,导致我初期就混的不错,最后那人的比赛最后一题我因为mac和windows下面卡时函数的效果是有差别的!结果一题分数跪光就跪了.

简而言之mac下面CLOCKS_PER_SEC = 100w,但是win下面是1000.

2:似乎流行坑队友,某校大家互相坑的很开心……

3:要自己分高的关键是要么把题目出容易,要么出很高的部分分…

4:某人出神题虐人,由于自己在自己的比赛的分数是平均分/最高分,TA的这项分数就最低了.

5:我总共混了5个rank1,有一场是wqs出糟糕水题赛不算的话,其它4场都是HN的人的比赛…..

ZJOI 2012 Round 1 mrx 详细题解

有人说我那题的题解过于意识流。。。。

于是我就看了一下。。

发现没有看懂。。。。。

发现没有看懂。。。。。。

于是我来写一个详细的题解。。。

 

首先,我们倒过来计算空矩形的数量,答案就是 矩形的数量 – 空矩形的数量。

那么,我们按行扫描,每次计算底边在当前行上的空矩形的数量。

那么实际上这个的答案,只跟当前每列,往上能伸展多少有关。

不妨考虑是这样的图形。

让我们考虑如何计算答案。

由于底边已经确定了,那么我们需要选择的就是上边界和左右边界(也就是左上角和右上角)。

继续观察这个图形,划分一下,可以发现它能够看成一个树形结构。

注意到,左上角和右上角,必然都在划分过之后的同一个矩形块中!

设划分出来的矩形宽度为w,高度为h,那么在这个矩形中的答案就是C(w+1,2)*h。

在树的节点中维护它所有子孙的答案和。

由于这个是一个树形结构,我们可以用树来维护,同时因为数据是随机的,故树的高度是logn的,这个可以用随机笛卡尔树高来证明。

接下来我们是在一行行扫描,所以得考虑如何维护。

如果下一行是空的,我们只需要把最下面那个矩形,也就是树的根,的高度+1就行了,同时更新根的答案。

如果下一行中有障碍物。

比如在第c列。

画一下图可以发现,整棵树,被顺着第c列,切成了两部分。

我们只需要在切树的同时,维护树的结构和答案即可。维护的复杂度跟树高是相同的,所以总复杂度就是nlgn。

具体的代码我已发在我的网盘,我自认为写的还是挺可读的。