首页 > 小红玩树
头像 lovejsn
发表于 2025-11-16 21:13:43
想复杂了,直接两次BFS,分别求出a,b到所有点的距离,然后遍历所有度为1的节点(叶节点),如果存在dist_a[i]<dist_b[i]/2,说明小红能先到,否则,小红不能先到 #include <iostream> #include <vector> #includ 展开全文
头像 hushuqi
发表于 2025-11-16 21:13:04
小紫每次可以移动1或者2,我们可以认为他每次移动2次,然后记录每个点最早被小紫访问时间,这个点可以被小红访问只有两种情况, 1,不是叶子节点,那么小紫到达时间必须严格晚于小红; 2,是叶子节点,那么小紫到达时间晚于或等于小红;(因为小红到达了就结束了) 注意,在实现的时候,可以bf 展开全文
头像 霏霏霏a
发表于 2026-03-21 21:33:58
关于这个题,我一开始脑袋是很混乱的,因为这个本质上是一个博弈的问题,而博弈的问题则注重于思维,而非模拟的过程,所以我们做博弈主要的就是顾全大局即可,而不是专注于模拟,因为如果去模拟那些细枝末节只会让你越理越乱。 这个题主要就是一步,求最短路径这个题的题干的重点是在边权为1,如果边权为1就可以大胆用b 展开全文
头像 牛客95597379号
发表于 2026-03-18 17:38:59
直接对比两个小紫/2的距离和小红的距离谁近用手模拟一下根本不对而且很难理解,一个新的思路,小紫可以每次操作和小红少一个距离,每个叶子节点的路径算出小紫和小红的距离,在小紫到达终点之前(小红到叶子节点的距离减一)靠近小红就行了 #include<bits/stdc++.h> using n 展开全文

等你来战

查看全部