qwq
很裸的一道樹上差分,不過和往常還不太一樣。
根據題目中給出的ai來差分,最後肯定有點被多加了值,所以最後再跑一邊去掉就好。
然而…… 我lca的模板打錯了……
#include#include#include#includeusing namespace std;
const long long l = 300005;
struct node ;
node e[2*l];
long long n , q[l] , tot , head[l] , vis[l] , deep[l] , fa[l][35] , num[l];
void add(long long x , long long y)
void dfs(long long u)
}long long lca(long long x , long long y)
void sol(long long l , long long r)
void qans(long long u)
}int main()
dfs(0);
for(int i=1; i<=30; i++)
for(int j=1; j<=n; j++)
fa[j][i] = fa[fa[j][i-1]][i-1];
for(int i=1; imemset(vis , 0 , sizeof(vis));
qans(0);
for(int i=2; i<=n; i++)
num[q[i]]--;
for(int i=1; i<=n; i++)
printf("%lld\n",num[i]);
return 0;
}
JLOI2014 松鼠的新家
裸的 樹鏈剖分 然而 並不用線段樹 求x,y的lca 後 在 x上標記加一,y上標記加一 lca標記減一,fa lca 標記減一 include int n int shunxv 300005 int to 600005 next 600005 head 600005 cnt void add in...
JLOI2014 松鼠的新家
time limit 10 sec memory limit 128 mb submit 1736 solved 840 松鼠的新家是一棵樹,前幾天剛剛裝修了新家,新家有n個房間,並且有n 1根樹枝連線,每個房間都可以相互到達,且倆個房間之間的路線都是唯一的。天哪,他居然真的住在 樹 上。松鼠想邀請...
JLOI2014 松鼠的新家
松鼠的新家是一棵樹,前幾天剛剛裝修了新家,新家有n個房間,並且有n 1根樹枝連線,每個房間都可以相互到達,且倆個房間之間的路線都是唯一的。天哪,他居然真的住在 樹 上。松鼠想邀請小熊維尼前來參觀,並且還指定乙份參觀指南,他希望維尼能夠按照他的指南順序,先去a1,再去a2,最後到an,去參觀新家。可是...