Meow ===== A ===== yuki: 对于当前的树,找到其最大的边,根据这个边把树分成两部分,并计算这条边对答案的贡献。 Dirty:我是笨蛋(偷懒在递归里反复存边和点导致MLE了一亿遍) ===== B ===== Red: 每个位置算贡献。场上忘了某个组合数怎么算,但是观察出规律了。 Dirty:没观察出性质时企图卡过去 ===== C ===== 显然的数论简单题,算个等差就行。 Dirty: 爆ll ===== E ===== 签到水平,算点前缀就算出来了。 Dirty: 有部分前缀忘了更新 ===== G ===== 签到。 Dirty: 没想清楚 ===== 场上没过的题 ===== H ===== toby: 考场差一点,我是笨蛋 :( 做法是这个图要么俩环,要么环内有边。然后两个环的情况就是每天从两段中各取一边删掉,大环中间连边的情况,就从三段中选两段各取一边扔掉。 然后每一组边要想办法维护 ax+b 的最值。就是一个凸包,用单调队列之类的东西就可以了。 Dirty: 我是笨蛋 :( ===== J ===== Red: 把过程存下来加点乱七八糟的权重,然后用主席树维护求前 K 大。 场上时间不太够,主席树挂了。