其他分享
首页 > 其他分享> > 20201004 连珠风暴,道路修建,最小圈

20201004 连珠风暴,道路修建,最小圈

作者:互联网

考场

看完3题感觉没有一道会做的。。。

仔细看了看T2发现是原题就没有管。

T1数学题,感觉是找规律,\(O(n)\) 或 \(O(1)\) 。推了30min没找到,开始嚼着口香糖打dfs,结果打挂了。上个厕所冷静一下,发现没有判“翻转”情况,加上后就好了。题目中有一句“\(nm\le 32\)”,以为是少打了的“,”,于是挂着“32 32”开始打T2,发现太卡(内存使用率超过\(90%\))就关了。

T2一遍过样例。

T3完全不会,连环都不会找(只会双指针找链上单环)。yy了半天想到Floyd找最小环,同时维护点/边数。

最后40min打完,让T3维护的点/边数开始对拍,重新开始找T1的规律。lgh说手推的答案错了一个。。。

最后10min发现 \(n\le 3\)时像二阶等差,结果后面就没了。T2也没有再看,有点虚。T3大概拍了1w组大数据,没什么问题,随便交了一个。

考后发现lgh和hkh都找了T1的规律,但不完全。T2的确是原题。T3全部爆0。

A. 连珠风暴

考场

dfs每个位置的颜色,hash+map判重。

期望

\(O(n^{m+1})\)

60pts

实际

100pts (真的是 \(nm\le 32\))

题解

找规律。

B. 道路修建

期望&实际

\(O(n+m)\)

100pts

考场&题解

tarjan缩边双,找新图中度为1的点的个数记为leaf,答案为 \(\lceil \frac{leaf}{2}\rceil\)。

缩点后新图为一棵树,将叶子节点贪心地两两连边,整图就变为边双连通分量(任意两个新点都有两天路径:经LCA和经叶节点)

C. 最小圈

考场

不会做。

魔改了Floyd求最小环,转移最短路时统计边/点数,枚举环求最小值。

期望

\(O(n^3)\)

20pts

实际

0

题面说保留6位小数,结果数据保留了8位(没有spj)。改成8位后20pts。但实际上这个算法有问题:找环时不能用最短路。

题解

0/1分数规划

简化题意

给定有向图,求一个边权平均值最小的环。

做法

二分答案mid,将所有边权减去mid,若存在负环(dfs判)则合法。

证明

所有边权减去mid即平均边权减mid,若存在负环则说明该环的平均边权\(\le mid\),即 \(ans\le mid\)。

总结

标签:le,20201004,32,边权,T2,mid,T3,连珠,风暴
来源: https://www.cnblogs.com/9Rings/p/14725929.html