数据结构-树状数组
miss_minor
坚持,请你坚持
展开
-
UVA12086 - Potentiometer(线段树/树状数组)
UVA12086 - Potentiometer(线段树/树状数组) 题目链接 题目大意:给你N个数字,然后有q个操作,操作类型:M代表修改某个位置的值为r,S代表查询某一段的数字和。 解题思路:线段树或者树状数组。 线段树 #include #include const int N = 8e5 + 5; int v[N]; int n; int Query (原创 2014-09-26 09:24:12 · 897 阅读 · 0 评论 -
UVA1428 - Ping pong(树状数组)
UVA1428 - Ping pong(树状数组) 题目链接 题目大意:有N个人,每个人都有一个技能值ai,现在要开展乒乓球比赛,要求要有两个选手和一个裁判,要求裁判需要在两名选手的中间而且技能值也是在两名选手的中间,问可以开展多少场比赛。 解题思路:对于第i个选手当裁判的话,设它前面位置的选手有ci个技能值比它低的,那么就有i - 1 - ci个比它高的,对于第i选手后面的位置原创 2014-09-26 09:06:07 · 1054 阅读 · 0 评论 -
UVA 11423 - Cache Simulator (树状数组)
UVA 11423 - Cache Simulator (树状数组) 题目链接 题目大意:模仿磁盘缓冲区的工作机制,给你n个不同size的(递增的)磁盘缓冲区,给你要访问的数据,根据LRU原则,问每个size的磁盘分别有多少次miss(数据没有在缓存中就是miss), 解题思路:因为数据最多有10^7,所以数据访问的序列最长也就是10^7。树状数组的每个位置代表的是访问序列的位置原创 2014-10-27 23:18:26 · 1355 阅读 · 0 评论 -
UVA1406 - A Sequence of Numbers(树状数组)
UVA1406 - A Sequence of Numbers(树状数组) 题目链接 题目大意: 给定N个数字,给两种操作:C x: 把这N个数字都加上x。Q x:查询这N个数里面有多少个数字和2^x取且大于0.最后把每个查询的结果求和作为答案。 解题思路: 查询与2^x取且为1,那么就意味这那个符合要求的数的第x位要是1。 但是这里还有全部加上x的操作,可以用一个变量来记原创 2014-10-28 18:43:56 · 1024 阅读 · 0 评论 -
UVA1513 - Movie collection(树状数组)
UVA1513 - Movie collection 题目链接 题目大意:给你一叠DV,编号1到n,1在最上面,n在最下面。然后现在给你m个操作,每次都指定一张CD,问要拿走这个CD需要挪走上面多少张CD,并且这个要拿走的CD放在这个叠CD的顶端。 解题思路:将这些CD的上面有多少张CD用数状数组来存储,但是每次要移动的话就有点难办,所以每次移动就将这张CD的pos更新一下,将之原创 2014-10-08 10:42:36 · 1095 阅读 · 0 评论