![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构-树状数组
文章平均质量分 87
tianxiang971016
ztx97
blog.ztx97.win(希望有生之年搭起来
展开
-
[SCU4441] Necklace [2015 Sichuan Province Contest Final F]
题意N个数构成一个环,现在可以删除一些数,使得这个环可以分成连续的三部分:X部分:所有数不降;Y部分:仅含一个值为10000的数;Z部分:所有数不增。(X,Y中不含值为10000的数),值为10000的数不超过10个。求满足条件的环中,剩余数字的和最大值。题解枚举值为10000的数。确定值为10000的数的位置后,将环变为以这个10000为两端的一条链。枚举断点i,我们可以用动态规划求出(1,i)的原创 2016-07-26 19:52:03 · 242 阅读 · 0 评论 -
[HDU5788] Level Up [2016 Multi-University Training Contest 5 1008 (2016多校联合训练5)]
题意一棵树,每个节点有一个权值Ai(Ai≤100000)A_i(A_i\le 100000),每个节点有另一个权值MidiMid_i,这个权值是以ii为根子树中第⌈t2⌉\lceil \frac t2\rceil小的AA值。现在更改一个点的AA值为100000100000,最大化更改后得到的MidMid值的和。题解当第ii个人的能力值从AiA_i变成100000100000时,会导致他到根上原本中位原创 2016-08-03 16:54:02 · 769 阅读 · 0 评论 -
[Educational Codeforces Round 17 E (762E)] Radio stations
题意给出n个点,每个点有三围(x,r,f) 两个点是冲突的,当|xi−xj|≤min(ri,rj)且|fi−fj|≤k|x_i-x_j|\le min(r_i,r_j) 且 |f_i-f_j|\le k. kk给出。 n≤105,0≤k≤10n\le 10^5 , 0\le k \le 10题解想法一: 按xx从大到小枚举点,每次在kdtree中询问xj≤xi+ri且xj−rj≤xi且|fj原创 2017-02-04 20:57:24 · 426 阅读 · 0 评论 -
[COGS2632] [HZOI 2016] 数列操作d
题目一个长度为nn的序列,一开始序列数的权值都是00,有mm次操作 支持两种操作, 1 L R x1\ L\ R\ x,给区间[L,R][L,R]内位置为pospos的数加上(pos−L)⋅x(pos-L)\cdot x 0 L R0\ L\ R,查询区间[L,R][L,R]内的权值和 最终答案对1e9+71e9+7取模题解这是我偶然翻到学弟学妹们出的一道题,于是就做了做。 首先这道题肯定原创 2017-07-08 10:58:49 · 620 阅读 · 0 评论 -
[COGS2600] [FJWC2017] 交错和查询
题意无限循环数字串SS由长度为nn的循环节ss构成。设ss为12345(n=5)12345(n=5),则数字串SS为123451234512345…123451234512345… 设SiS_i为SS的第ii位数字,在上面的例子中,S1=1,S2=2,S6=1S_1=1,S_2=2,S_6=1。 设SS的一个子串S[l,r]S_{[l,r]}的交错和为sum(l,r)sum(l,r): sum原创 2017-07-08 17:35:29 · 378 阅读 · 0 评论 -
[计蒜客16956] Query on a string [2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 G]
题意给定字符串SS和TT 两种操作: 1. 修改SS串某个位置的字符 2. 询问SS某子串中出现了多少次TT串 |T|≤10|T|\le10题解如果没有修改,我们可以对TT建failfail指针,然后在SS中kmp一遍并记录哪些位置匹配了完整的TT串,这相当于一个01数组,询问则是对这个01数组求区间和,可以简单地用树状数组实现。这样一次询问就是O(logn)O(\log n)的。 当修改原创 2017-09-21 18:15:10 · 234 阅读 · 0 评论