比赛时间安排
7.40-7.50
t1 这不是简单?等下,为什么会有小数啊,难道是什么计算几何吗,自闭了
t2 暴力可以搞,数据那么小,会是状压?
t3 特殊档应该可以搞一下,但是感觉暴力不怎么会啊
7.50-8.00
t2 暴力写完
8.00-8.40
写了t3菊花图,因为要求两两配对,所以节点数是奇数的直接否掉,剩下的把每条边都算一下就行了
8.40-9.20
写t3的链,首先1-n肯定匹配,然后对于多个节点连在同一个节点上,就让他们两两匹配,如果有剩下的,最后同一扫一遍,把靠近的两个匹配
9.20-12.00
然后就是自闭时间了
去想t3的暴力分,也就是第三档,肯定就是每次更改单独做,但是怎么样是最优的呢?而且还能保证每次都把整棵树跑一遍,直接n^2找最短路径肯定不行。。。emmm
看t1,发现依然没有任何想法,完全没想到是勾股定理啊(哭了)
看t2,觉得是个复杂一点的dp吧,但是并不会转移
看t3的二叉树,我的思路是这样的,如果在叶子结点处加点,那么先让其内部匹配,剩下一个的跑整棵树匹配,如果在非叶子结点上,先内部匹配,然后找最短路径。emmm又回到上面我搞不定的问题了,自闭,真不知道怎么搞
赛后总结反思
- t1的思维太局限了,也许是没做过这种题,之前都是类似线段的东西,以后考试要结合背景,毕竟是气球啊
- 。。。t3读错题了,以为每个叶子结点必须选,不好像没错,把整棵树清理就需要都选,错的原因是数组开小了!!!!!!
与正解的差距
T1
t1单调性,好好画图之后直接就看出来了!表示只要读懂题了我就会啊(哭)
T2
有一个小性质,就是当你变换x条边变成DAG的时候,同样也可以用m-x条变变成该DAG的反图,也是一个DAG,那么这两种方案的贡献加起来就是m,所以求的其实是给无向边定向,使其成为DAG的方案数。用到容斥思想,只枚举拓扑时候的第一层,也就是入度为0的点有哪些,进行容斥计算。这个思路挺好的。
T3
有一个规律,类似于我特盘的情况,但是没往这方面细想,最后变成求有偶数个叶子结点的结点有多少个了,这个用树剖维护,顺便复习了一下树剖代码,看来顺着原来的思路真的可以