摘要:
Rt,大概总结一下吧(不时更新一小下 1.一般都没有指定根,刚开始随便选一个根(1号点工具人) 2.两次$dfs$,一次从工具人开始预处理一些东西,第二次(也是从工具人开始)换根。 3.多用于:只要确定某一个点是什么东西的时候,答案就基本确定。枚举每一个点复杂度不能承受,父亲的答案可以让儿子加以利用 阅读全文
摘要:
题目传送门 题意: 给定一个$N$个点的树,第$i$条边的长度是$A_i$,求每个点到其他所有点的最长距离。数据范围:$n ≤ 10000$,$A_i ≤ 10_9$ 分析 首先,从随便哪个节点($1$号节点(工具人))开始进行$dfs$,处理出所有点到$1$的距离$dis[i]$ 然后,考虑$i$ 阅读全文
摘要:
题目传送门 题意 一棵$N$个节点的树,初始时所有的节点都是白色,第一次可以选择任意一个把它涂成黑色。接下来,只能把与黑色节点原来相连的白色节点涂成黑色(涂成黑色的点视为被删去,与其它节点不相连)。每一次涂的分数为涂的这个白色节点所在的联通块里的白色节点的个数。要把这$N$个节点都涂成黑色,求能获得 阅读全文
摘要:
题目传送门 根据字典序,是个人都会想到依次把目前最小的数尽量往前面移动,直到它不能再往前移动,或者已经到了它的期望位置(就是排列的那个位置 比如$i$就应该在位置$i$)为止。 所以我刚开始是这么写的: 1 #include<cstdio> 2 #include<algorithm> 3 #incl 阅读全文
摘要:
算是一道思维题吧,没有什么算法在里面。 之前想的是,能走的话就尽量走远,走过去开灯然后再回去关灯,然后再走,每一段路要走3次。 然而,“能走的话就尽量走远”只是yy的一个贪心,没有任何依据。假设在中间找一个过渡点的话,路程应该是长这个样子的: 总路程还是3倍距离,没有改变诶。 所以只要你认认真真地, 阅读全文
摘要:
虽然是T3,但是想通了之后还是不难的。 数据规模也不大。 可以考虑先枚举一个班长,根据题意,和班长连边的学生就可以不用管,没有和班长连边的学生就要去找一个和班长连边的学生组队,如果所有没有和班长连边的学生都能找到一个人组队,就可以。 是一个比较裸的二分图最大匹配。 注意要重新建图,不能直接在原来的图 阅读全文