专栏文章

题解:P13564 「CZOI-R5」奶龙

P13564题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mioiugfg
此快照首次捕获于
2025/12/02 19:55
3 个月前
此快照最后确认于
2025/12/02 19:55
3 个月前
查看原文
题目的要求:构造基环树森林,让奶龙在刚好 kk 次移动后访问完所有点。(如果不知道什么是基环树森林请查一下)
既然奶龙贪吃,我们就假设所有开始没有奶龙的地方都有一份食物(一共 nmn-m 个),访问了新的节点,奶龙就会把上面的食物吃掉,都吃光了就结束了。
这样想:每只奶龙在一次移动中要么到了全新的节点(吃掉一个食物),要么来到已经被龙走过的节点(不能吃食物),在最极端的情况下所有奶龙每次移动都能吃到食物,进行 kk 次以后能吃 kmkm 个食物,如果说食物的数量大于了这个数,这些奶龙全力吃也吃不完,就不可能达成 kk 次走完的要求,无解。
无论如何,在食物吃完前,每一回合至少有一个奶龙吃到了食物。因为如果某一刻所有奶龙都来到了有龙来过的节点,它们就会沿着其他龙走过的路线兜圈子,这会致使 kk 个回合之内无法吃到部分食物。所以说,一回合至少消耗一个食物,如果食物的数目小于 kk 就肯定不够吃,无解。
而如何构造方案?我们可以给 nmk\lfloor \frac{n-m}{k} \rfloor 个奶龙开包厢,做包含这只奶龙和 kk 个食物的环,使他们正好能在 kk 个回合访问完它们所在的环。剩下的奶龙和边角料都放一个单独的环,龙多饭少肯定 kk 个回合前就吃完了。下面给出例子:

评论

0 条评论,欢迎与作者交流。

正在加载评论...