20220617练习


1.P1197星球大战
主要思路为难以从正向维护删边的连通块,就从逆向维护加边的连通块。


2.P5022旅行
首先从“任意选定一个城市作为起点,然后从起点开始,每次可 以选择一条与当前城市相连的道路,走向一个没有去过的城市,或者沿着第一次访问该 城市时经过的道路后退到上一个城市。当小 Y 回到起点时,她可以选择结束这次旅行或 继续旅行。需要注意的是,小 Y 要求在旅行方案中,每个城市都被访问到。”可以看出来其实就是求一个字典序最小dfs序。
但基环树该怎么办?
我们可以发现无论如何基环树上一定有一条边不会被经过,所以可以暴力枚举被删除某一条的边。


3.P2906 Cow Neiborhoods G
首先看到距离可以下意识想到可转为切比雪夫距离。
然后可以尝试证明一种连边方式,然后发现可以将一个点连向x值靠前(保证不会重复连边)并且y值与它最近的两个点(一上一下)
①为什么这样是正确的:
因为举不出反例所以是对的。我们首先以之前的连边都以正确维护为前提,我们发现对于该点一定能进入左下方的一个连通块内,而对于自己覆盖内的其他点,一定在之前被加入了此连通块内。
②为什么可以这样思考:
首先一定可以猜测是把每一个点和某几个特殊点连接从而保证连通块的正确性。首先可以贪心猜想朝某一个方向中最远的去连接。
距离问题中的两种距离测量方法可以相互转化。对于曼哈顿距离的优势在于可以将一个坐标压缩为一个和来判断距离,但需要分类讨论四个方向;而切比雪夫也只需考虑某一个坐标,但只考虑某一坐标之前要确保另一个坐标之差要小于前一个(或者证明无需考虑)


4.P2943 Cleaning Up G
首先可以想到一个朴素的dp,其中dp[i]=min(dp[j]+sm^2)(sm为j至i内不同个数,可实时维护),复杂度O(n^2)
我们发现只要优化到O(n^1.5)就可以了。
sm^2???
而答案最小为n(全分开)
所以只需维护几个向前最远的sm等于1~sm^0.5即可

原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/267288.html

(0)
上一篇 2022年6月15日
下一篇 2022年6月15日

相关推荐

发表回复

登录后才能评论