【JZOJ2702】探险

来源:互联网 发布:如何用信用卡支付淘宝 编辑:程序博客网 时间:2024/06/20 01:18

图转侵删
这里写图片描述
题解的构造我暂时没去理解,一眼没看懂就不理了
赛后自己先想了想,然后和hsz,ymw大爷讨论一番我的想法,没发现什么错
先感谢大爷们对我的帮助_ (:з)∠)_

由于题目要求的是最短路径,我们不妨考虑图的最短路DAG和答案路径Pans,找找关系
又因为要回到原点,我们应当考虑两个最短路图:从原点出发的,记为G1,从各个点到原点的,记为G2
然后自然得到一个猜想,Pans能拆成P1+P2,P1G1,P2G2
因为看起来很对,我们考虑证明它。要证明这个猜想我们先证明一个很像的结论:
Pans上任选一点,被分成的两条路径1必有一条在G1G2
在选的点不为Pans中原点的前驱或后继的情况下2,只要取出前驱后继进行讨论即可证明2.5
有了这个结论,在一般情况下3,猜想是显然正确的
故根据猜想,我们只需要枚举连接P1,P2的边,在G1,G2上讨论4,贡献答案即可
至此问题解决(了吧?大概= =)

看懂了就不必看注释了。。
(1) 两条路径指:原点到选定点,选定点到原点 这两条
(2) 不在这种情况下我没有讨论,不知道结论是否仍然正确
(3) 特殊情况为:1.Pans的长度小于4。2.Pans只由一条最短路和一个点组成
这些情况不知道是否还能通过枚举边来贡献到答案,但显然可以打几个针对的算法解决
(4) 若在最短路DAG上到达某点的第一条边唯一,则此边为该点的支配边
若枚举的边的两点的支配边不同(或者其中一点没有支配边)则可以贡献答案,否则为非法,不贡献
(2.5)如图
这里写图片描述
说明:P1G1,P2G2,P1G1,P2G2,ABCD为各路径上最靠近原点的点
考虑反证
ACBD时,P1+P2P1+P2将构成合法且更优的答案5
A=CB=D时,由答案路径定义,AD,故BCP1+P2将构成合法且更优的答案5
得证
(5)事实上,答案可能不合法,两路径会在中途经过重边,但若只保留从原点到第一次重边的位置,答案将合法且更优。
更优显然,合法是因为保证了原点的前驱后继不同,就保证了保留下来的路径不会只剩下一个原点

如果有什么定义上的问题可以评论♪(^∇^*)