蚌埠著了 我怎么每天都犯困
不过我发现了一个事情) 当我犯困的时候 如果我突然定神干个什么就会很清醒
比如上午我迷迷糊糊要睡过去 觉得不太行 于是去前面找吃的 当我努力辨别什么汤是什么味道的时候我就不困了)
所以我还是得买点吃的放在手边,以及这个例子好像能说明学校把课穿插开的合理性
今天有几个地方不太好
- A了题之后心态有点摆(觉得剩下的一定能很快写完什么的)
- 考试快结束的时候心态不稳(最后T3splay没调出来 其实是有个地方y写成x了 稍微想一想就能想到)
- 开始写代码的时间比较晚(总觉得所有题都能再多点想法所以迟迟不开始写代码)
时间安排
7.30-9.00
看了看题 T1是个类似dp的东西 推了40分(不过当时是假的)
T2 的 m < = 20 m<=20 m<=20 是拓扑图计数
T3 是模拟 另外是平衡树
9.00-10.10
高强犯困 喝了点东西缓了缓意识到T1的二分好像是对的(最开始自己认为不对) 然后又发现自己T1的计算结论假了又推了一下 然后猛冲 顺利过
10.10-10.50
冲T2 感觉好难写 没调顺利过
10.50-11.20
写T3的第一部分
11.20-12.00
写T3的第二部分 莫名其妙答案不对(恼
题目分析
T1
记一个子树内的答案为 f [ x ] f[x] f[x]
那么 f [ x ] f[x] f[x] 就等于把子结点的 f f f 排序之后 然后扫 v = m a x ( 0 , v − ( p o s [ i ] − p o s [ i − 1 ] ) + 1 ) v=max(0,v-(pos[i]-pos[i-1])+1) v=max(0,v−(pos[i]−pos[i−1])+1)
f [ x ] = p o s [ n ] + v + 1 f[x]=pos[n]+v+1 f[x]=pos[n]+v+1
(叶子需要特判)
然后考虑把两个点之间的点存起来之后二分 最优的情况 左右的值应该平均
T2
考虑把边从小往大加 那么树边要小于非树边 对应拓扑关系 做拓扑图计数
T3
第一档暴力模拟
第二档平衡树模拟