Algorithm 来自spoj的树相关任务。高在树上(得到)

Algorithm 来自spoj的树相关任务。高在树上(得到),algorithm,tree,graph-algorithm,Algorithm,Tree,Graph Algorithm,有一棵树,每个顶点都有一个编号。对于每个查询(a、b、c),都会询问从a到b的路径上是否有一个顶点,该顶点被指定为编号c 可以有重复的编号分配,这意味着可以为多个节点分配相同的编号 我曾考虑过一些涉及LCA的解决方案,将树节点转换为时间间隔,但无法对其进行优化,因此解决方案将超时 有人能帮上忙吗?这是问题的链接: #布拉格语GCC优化(“O3”) #布拉格语GCC目标(“sse4”) #pragma注释(链接器,“/stack:200000000”) #布拉格语GCC优化(“Ofast”) #p

有一棵树,每个顶点都有一个编号。对于每个查询(a、b、c),都会询问从
a
b
的路径上是否有一个顶点,该顶点被指定为编号
c

可以有重复的编号分配,这意味着可以为多个节点分配相同的编号

我曾考虑过一些涉及LCA的解决方案,将树节点转换为时间间隔,但无法对其进行优化,因此解决方案将超时

有人能帮上忙吗?这是问题的链接:

#布拉格语GCC优化(“O3”)
#布拉格语GCC目标(“sse4”)
#pragma注释(链接器,“/stack:200000000”)
#布拉格语GCC优化(“Ofast”)
#pragma GCC目标(“sse、sse2、sse3、sse3、sse4、popcnt、abm、mmx、avx、tune=native”)
#包括
使用名称空间std;
#首先定义ff
#定义ss秒
#定义pb推回
#定义pf push_front
#定义pob pop_back
#定义pof pop_front
#定义mp make_对
#定义insert
#定义ll long long int
#定义ld-long-double
#定义无符号长
#为(ll i=0;i=1;i--)定义循环(i,n)
#定义测试(t)int t;cin>>t;而(t--)
#定义endl'\n'
#定义所有(c)(c).begin(),(c).end()
#为(auto-it=(c.begin();it!=(c.end();it++)定义tr(c,it)
#为(auto-it=(c.rbegin();it!=(c.rend();it++)定义rtr(c,it)
#定义sz(c)(c).size()
//根据需求定义mod
常数ll MOD=100000007;
//常数ll MOD=998244353;
typedef向量vi;
typedef向量vll;
typedef向量vb;
typedef向量vvi;
typedef向量vvll;
双锁相环;
typedef对pi;
typedef向量vpll;
矢量vvpll;
结构Order1{bool operator()(pll const&a,pll const&b)const{return(a.ssminpq_pair_f//具有最小ff的对的最小优先级\u队列
typedef priority_queueminpq_pair//具有最小ss的对的最小优先级_队列
long long min(long long a,long long b){if(b=b)返回a;返回b;}
long long add(long long x,long long y){x+=y;while(x>=MOD)x-=MOD;while(x<0)x+=MOD;返回x;}
长-长乘法(长x,长y){返回(x*1ll*y)%MOD;}
长幂(长x,长y){long-long z=1;而(y){if(y&1)z=multiply(z,x);x=multiply(x,x);y>>=1;}返回z;}
long-long-modInverse(long-long x){返回功率(x,MOD-2);}
长除法(长x,长y){返回乘法(x,modInverse(y));}
long-long gcd(long-long a,long-long b){if(a==0)返回b;返回gcd(b%a,a);}
long-long lcm(long-long a,long-long b){long-long val=max(a,b)/gcd(a,b);val*=min(a,b);返回val;}
常数长N=200050;//可以根据约束进行更改
长事实;长事实用于存储阶乘值的数组
void cal_factorial(){fact[0]=1;for(long long i=1;ireturn val1欢迎使用SO。您的答案看起来经过深思熟虑,但相当复杂。在代码中添加一些注释来解释您的推理可能会有所帮助。