Yash的bitset DFS序线段树解法,能解决Codeforces633G长尾词树问题吗?

2026-04-02 02:230阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1046个文字,预计阅读时间需要5分钟。

Yash的bitset DFS序线段树解法,能解决Codeforces633G长尾词树问题吗?

传递门:点击打开链接主题:给你一棵树,根节点为1,有两种操作,第一种是给u节点所在的子树的所有节点加x,第二种是询问,假设v是子树u中的节点,有多少种质数满足条件


传送门:​​点击打开链接​​

题意:给你一棵树,根节点为1

有2种操作,第一种是给u节点所在的子树的所有节点的权值+x

第二种是询问,假设v是子树u中的节点,有多少种质数满足av = p + m·k

Yash的bitset DFS序线段树解法,能解决Codeforces633G长尾词树问题吗?

其中p<m

思路:首先用DFS序,把树弄成线段树来表示,这种做法十分常见就不多讲了

因为m<=1000,我们用bitset保存av%m的值

每次对子树增加权值的时候,只需要修改懒惰标记,来记录增加的大小

然后直接把bitset利用位运算来完成循环移动就行了。

这道题只要能熟练运用bitset,对DFS序的线段树有一定的了解,应该是没很大问题的。

阅读全文

本文共计1046个文字,预计阅读时间需要5分钟。

Yash的bitset DFS序线段树解法,能解决Codeforces633G长尾词树问题吗?

传递门:点击打开链接主题:给你一棵树,根节点为1,有两种操作,第一种是给u节点所在的子树的所有节点加x,第二种是询问,假设v是子树u中的节点,有多少种质数满足条件


传送门:​​点击打开链接​​

题意:给你一棵树,根节点为1

有2种操作,第一种是给u节点所在的子树的所有节点的权值+x

第二种是询问,假设v是子树u中的节点,有多少种质数满足av = p + m·k

Yash的bitset DFS序线段树解法,能解决Codeforces633G长尾词树问题吗?

其中p<m

思路:首先用DFS序,把树弄成线段树来表示,这种做法十分常见就不多讲了

因为m<=1000,我们用bitset保存av%m的值

每次对子树增加权值的时候,只需要修改懒惰标记,来记录增加的大小

然后直接把bitset利用位运算来完成循环移动就行了。

这道题只要能熟练运用bitset,对DFS序的线段树有一定的了解,应该是没很大问题的。

阅读全文