疑惑
查看原帖
疑惑
1050664
_Ubuntu_楼主2024/1/19 15:43

对 a1a_1 到 ana_n进行差分没问题,但是对 a1a_1 到 an−1a_{n-1} 进行差分为什么会出错


	dfs_1(1,0);
	dfs_2(1,1);

	for(int i=1; i<n-1; i++)
	{
		int lc=lca(a[i],a[i+1]);
		s[a[i]]++ , s[a[i+1]]++ , s[lc]-- , s[f[lc]]--;
	}

	dfs(1,0);

	for(int i=2; i<=n-2; i++)		s[a[i]]--;

	for(int i=1; i<=n; i++)		cout << s[i] << '\n' ;
2024/1/19 15:43
加载中...