树状数组
luckyone2014
想思路是苦涩艰辛的,但是打代码是愉快的。
展开
-
URAL 1521 War Games 2 树状数组解决约瑟夫环,输出离队顺序
题意:约瑟夫环问题。 输入n是总人数,数到k的人离队。 输出离队顺序。做法:因为要输出在原串中的位置,所以用了树状数组加二分来找。树状数组开始每个点都初始化为1,然后离队的改为减一。对于sum(x),x是原来环的 标号,sum(x) 就表示 当前 减少了人数的环中 对应的 是第几个。原创 2015-02-12 10:32:31 · 1686 阅读 · 0 评论 -
codeforces 570 D. Tree Requests 树状数组+dfs搜索序
题意:告诉你一颗树的父子关系,1节点为根,再告诉你每个点上的字母。问 v节点 子树(包括v节点)在第h行的所有节点的字母能否组成回文串。做法:先用dfs 搜索 把所有节点标个左标号和右标号。 这样标号以后,每个节点 用左标号 当自己 新的标号。 然后 子树所有节点 的新标号 肯定在 子树根节点的 左右标号之间。标号之后分层来做。每层 对每个字母分别做统计。把该层所有节点 的 左标号 在树状数组中+1. 然后对于该层的所有询问 做 树状数组统计,(sum(rit[v])-sum(lft[v原创 2015-08-16 10:53:02 · 1258 阅读 · 0 评论