首页 > 其他分享 >树上游戏(树类型题目思考题)

树上游戏(树类型题目思考题)

时间:2024-08-21 08:56:22浏览次数:12  
标签:树上 题目 游戏 思考题 整数 移动 节点

第2题     树上游戏 查看测评数据信息

有一棵n个节点的树。T站在u号节点上,A站在v号节点上。现在,两个人轮流移动,T是先手。每人每次移动必须移动到任何一个相邻的节点。如果某个人发现自己与对方站在了同一个节点上,那么宣布游戏结束。注意每个人每一轮必须移动。已知T希望游戏能够尽可能晚地结束,A希望游戏能够尽可能早地结束。若两人都使用最佳方案,请问A会移动多少步?

输入格式

 

第一行三个整数n,u,v

接下来n-1行,表示n-1条树边,每行两个整数x,y,表示节点x到节点y有一条边。

2<=n<=1e5

 

输出格式

 

一个整数

 

输入/输出例子1

输入:

5 4 1

1 2

2 3

3 4

3 5

 

输出:

2

 

样例解释

 

 

题解:https://www.luogu.com.cn/article/1glsdf9i

对于无法很好分类讨论的话,定一个点(一般是题目要求的)为根,这样会减少很多分类!!!

 

 

标签:树上,题目,游戏,思考题,整数,移动,节点
From: https://www.cnblogs.com/didiao233/p/18370833

相关文章

  • lg树上操作
    lg树上操作P3258树上差分P1600[NOIP2016]天天爱跑步分开两边处理。对于上升段,如果一个点深度是x=dep_i+w_i,那么i就被贡献我们可以将整个上升段的x位置都加,然后在每个点处统计dep_i+w_i位置的值。每个点开一个vector记录修改操作。不过这样可能会有互相影响......
  • 树上合并 目前的总结
    启发式合并(set)元素少的set中的元素一一插入元素多的set中。时间两只\(\log\)。空间最坏为\(n\)这个级别(结点数)(这是在默认一个结点最多增加一个元素的情况下)。log数据结构时间也是两只\(\log\)。dsuontree好像[也叫“树上启发式合并”](??)。[一般](?)是重链剖分一样划分......
  • 油管视频《编程思维》中的题目,使用C语言编写出来,第十集,世界上的机器
    题目:假设首先我拥有大量的机器人,从迷宫中心的水晶出发,其次我拥有取之不尽的线轴,这些线非常结实耐用,可以在必要时刻切断线,现在面对一个迷宫,迷宫以水晶为中心,哪里有许多条死胡同,但没有一条会绕回到起点,我只有一次机会,可以在机器人们跳入迷宫,寻找出口前,发送一条简单的指令,请问什么......
  • C240817D. 模拟赛:树上dp(以i为起点)+set操作
    C240817D.模拟赛比较显然的树上dp,但是维护set比较烦考场上其实自己是定义\(f[i]\)是以\(i\)结尾,然后这样的话单次更新根本做不到\(O(logN)\).反应实在是太迟钝了,考场想“如果有一种只更新一条链的dp就好了”结果完全没想到只需变成以\(i\)开头就行了.积累经验吧。......
  • 树上计数2
    树上莫队通过将树转化成DFS序(欧拉序)来解决问题。这道题目跟“HH的项链”很像,考虑树上莫队首先对树做出一个欧拉序,得到每个点在欧拉序中第一次出现的位置in[x]和第二次出现的位置out[x];如果某个询问的\((x,y)\)的in[x]比in[y]大,那么交换\(x,y\),下面假设in[x]比in[y]小如果\(x,y\)......
  • 2024杭电多校第十场 1002树上询问(题解)
    题意给一棵树,每个节点有一个权值,并且权值是一个排列。接下来有多次操作,每次操作要么是交换两个节点权值,要么是询问一个权值区间\([L,R]\),判断是否存在树上的一个路径,使得路径上的权值恰好都在这个区间里分析由于询问的是树上的一个路径,联想到了树上莫队中对路径的处理。这里......
  • 【C语言题目】计算某字符出现次数
    描述题目描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围:1≤n≤1000输入描述第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)输出描述输出......
  • JAVA面试题大全(600+道题目)
    1.想要线程安全的HashMap怎么办?(1)使用ConcurrentHashMap(2)使用HashTable(3)Collections.synchronizedHashMap()方法2.ConcurrentHashMap原如何保证的线程安全?JDK1.7:使用分段锁,将一个Map分为了16个段,每个段都是一个小的hashmap,每次操作只对其中一个段加锁JDK1.8:采用CAS+Sync......
  • 【计算机二级C++】题目与C++知识自检
    @目录公共基础知识计算机基础数据库数据结构树链表排序队列栈C++const与static指针函数重载构造与析构多态、继承、权限数据类型输入输出流模板公共基础知识计算机基础计算机完成一条指令所花费的时间称为指令周期顺序程序不具有并发性下列叙述中正确的是CA.算法的......
  • Python while编程题目|AI悦创Python一对一教学辅导
    你好,我是悦创。以下是十道有创意的while循环编程题目,每道题目都有一定的难度,适合锻炼编程逻辑和思维能力。题目1:旋转字符串描述:给定一个字符串,每次循环将字符串的第一个字符移到末尾,打印所有可能的旋转结果,直到回到原始字符串为止。输入:"abcde"输出:abcdebcdeacdeabde......