2021.11.1/2 巴蜀模拟赛总结

11.1 JOI的神题

T1

第一个点就是所有边到它的那个方向的边的权值和。

之后以这一个点为根,第二个点就是根到这个点的另外一个方向的链,。

结论题。可以用反证法证明。E=1和E=2 拿出来单独讨论,之后用E=2的根,每一次删最多的那个就可以了。

这里需要用线段树维护dfs序。

考场差点写出来了。。。。

T2

特别神奇的DP

https://www.cnblogs.com/coldchair/p/12431331.html

主要是写出朴素的dp,然后又优化。

优化是一次更新一列的答案,用两个set维护差分数组,因为只有n个关键点,那么就只有n个位置会变成负数。所以复杂度才是对的。

每一个值等于其前面的最大值。转成差分数组就变成找第一个负数的地方和后面一个正数抵消,直到抵不掉之后变成0,最后前缀和回来。

感觉每一步都很难想到。

T3

也挺简单的啊。。。

2021.11.1/2 巴蜀模拟赛总结

把能把原来树拆成两半的边先拆掉,剩下的点可以合成为一个点因为它们一定不会被拆成几份。

显然每一种颜色的点都只在一个新点内。把那些边加回来变成新树。

现在一次操作就是给树上任意连一条边,需要其删任意一条边之后联通即变成边双。

显然,每一次连两个叶子是最优策略。所以答案就是叶子除以二向上取整。

这里讲的建新树的方法在之前某道题里面出现过。

按照dfs序排序之后相邻的两个的lca标记一下就可以了。

T4

不会。


11.2 爆炸了

T1

简单题。把每个位置看成一个点,然后每次相等可以建边,把相等的缩成一个点,然后贪心从前往后取即可。

T2

简单题。并查集缩点,传送门就是单向边,100个点规模图上问连通性直接扫一遍即可。

freopen写错了。。。。

T3

简单题。但是没看出来。

这个式子\(Sa_{i}-kSb_i\)明显就可以看做以\(Sa_i\)为截距,\(Sb_i\)为斜率的直线的函数值,然后问取自变量取k时哪一条直线函数值最大。

李超树即可。

T4

不会。






状态怕是有点问题。注意还是按照之前的步骤来。

先把题看完。

写已经看出来的暴力。

想正解。注意在多个题之间利益最大化。

检查。

不管难还是简单,下次一定要考出自己满意的成绩。

上一篇:python – 查找PIL / PILLOW正在使用的libjpeg


下一篇:华为防火墙与思科路由器IPsec对接参数