社区讨论

疑惑

P3258[JLOI2014] 松鼠的新家参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lrkc5eql
此快照首次捕获于
2024/01/19 15:45
2 年前
此快照最后确认于
2024/01/19 18:41
2 年前
查看原帖
a1a_1ana_n进行差分没问题,但是对 a1a_1an1a_{n-1} 进行差分为什么会出错
CPP

	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' ;

回复

0 条回复,欢迎继续交流。

正在加载回复...