Codeforces 1209D. Cow and Snacks
Posted lltyyc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces 1209D. Cow and Snacks相关的知识,希望对你有一定的参考价值。
考虑构建图论模型,每个客人看成边,菜看成点,那么每个客人连接他喜欢的两个菜
对于某个客人,如果他要开心,它连接的两点至少要有一个还未被选择
考虑一个显然的贪心,我们要尽量让每个客人只吃到一种菜
考虑构建一个生成树,每次从树上一个节点往外延伸,连向一个新的点,那之间的边就是新的一个客人
并且这样构建以后,除了第一个客人吃到了两种菜以外,其他客人都只吃到一种菜,显然是最优的
发现代码实现的时候生成树连边的顺序是没影响的,所以直接构建生成树森林,那么森林中的边数就是最多可以开心的客人
答案即为总人数减去最多开心的人数,并查集即可维护
由于我的代码过于丑陋并且可能是错的(虽然过了 $CF$ 的数据),思路也不是这个,所以请去看其他人的代码吧 $qwq$
以上是关于Codeforces 1209D. Cow and Snacks的主要内容,如果未能解决你的问题,请参考以下文章
Cow and Snacks(吃点心--图论转换) Codeforces Round #584 - Dasha Code Championship - Elimination Round (rate
Codeforces1307D. Cow and Fields
Codeforces Round #621 (Div. 1 + Div. 2).D. Cow and Fields
Codeforces 1209F Koala and Notebook