码迷,mamicode.com
首页 > 其他好文 > 详细

codechef Chef at the River

时间:2020-01-30 10:04:28      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:答案   discuss   不同   chef   edit   inline   ref   集中   最小点覆盖   

难度

\(hard\)

题意

官方中文题意

做法

\(G=(V,E)\)
定义1\(M(G)\)\(G\)的最小点覆盖
定义2\(ans(G)\)\(G\)的题意答案,不考虑船夫

结论1\(M(G)\le ans(G)\)

第一次最少也得带走\(M(G)\)

结论2\(ans(G)\le M(G)+1\)

即用\(M(G)+1\)个位置必定能带走所有人:第一次带上\(M(G)\),其放在船上不动,然后每次将左岸一个点放入船中再带到右岸

结论3\(G\)是菊花图时\(ans(G)=M(G)=1\)

显然,不详述

结论4\(G\)不是菊花图时\(ans(G)=M(G)\)

第一次带\(M(G)\),显然\(M(G)\ge 2\),考虑\(M(G)\)所代表的点集中两个不同点\(u,v\),我们将\(v\)放在右岸将与\(u\)相邻且不与\(v\)相邻的点带上放在右岸;由于同时与\(u,v\)相邻的点至多有\(1\)个,放完后带上\(v\),在与左岸交接时将\(v\)放在左岸,带上至多的那一个点,如果没有则不带;这时我们将船上空出来了一个位置,将\(G\backslash M(G)\)全部放入右岸即可

然后就是板子了

codechef Chef at the River

标签:答案   discuss   不同   chef   edit   inline   ref   集中   最小点覆盖   

原文地址:https://www.cnblogs.com/Grice/p/12242078.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!