日均挂50分
比赛思路
传送门
T1(森林):如果是加的话就倒着变成删。排序后贪心就好了。T2(玩具):理解题意之后发现并不是很好做,先做了T3。推了一波DP,发现中间的标号会算重,又加了一维,原本n
3的就变成n
4了。T3(飘雪圣城):求边数。刚开始以为是可持久化线段树。打的时候发现直接用树状数组就可以维护了,然后就又短又水了。
赛后消化
T1因为会加入一些房子,数组要开大两倍。。。还好只萎了20分Orz。T2为了追求速度少模了几发,以为可以的,但是没有发现其实是会炸的,70变成50了。。。改出来暴力之后发现,外校的有的同学原来做过这套题,看了看他们发的题解,不知道题解的DP讲的什么东西,但是抄上去就过了。如下: 我考场上在计算标号的时候,因为组合数的原因,我以为是让开头的标号从小到大的。但是这样子的话就不知道下一个起始标号要在哪里开始,所以干脆记录一下有多少个起始标号,如果有
x
x
x个的话,最后会算
x
!
x!
x!次,除以它就好了。然而实际上,我直接让开头的标号从大到小,每一次开头就是第一个,组合数就从
C
(
i
,
j
)
C(i,j)
C(i,j)变成
C
(
i
−
1
,
j
−
1
)
C(i-1,j-1)
C(i−1,j−1)就好了。这样居然就可以了???其实这种钦定的方法,之前是见过的。但是我脑子短路了,这都没有想到Orz…
总结
要减少失误啊。数组不要越界,数组不要越界,数组不要越界。模多一点还是吼的。