csp-s模拟测试52

标签:平均数处理 查单点上的区间操做ui

 

指望得分:40+40+40blog

实际得分:40+40+40排序

打了三个暴力游戏

 

A. 平均数

查询第k小的连续子序列平均值。class

二分,很妙im

二分平均值x,全部数减去x,作前缀和,平均值比x小的区间[l,r]有$sum_r-sum_{l-1} < 0$,sum的逆序对数便是x在全部区间里的排名。查询

因为实数域,归并排序比较方便。img

注意到平均值有相同的,即x增大一点,逆序对数可能增长不少,卡不到k-1,不能判等,找到逆序对数<k的最大x就是答案。集合

 

B. 涂色游戏

相似长寿花的思想,这种题仍是不会作啊。标签

先dp出子问题的答案(一列或一层之类),而后用组合数+dp拓展到总体(面,立体)

不用记录具体的颜色集合,相同颜色数的全部颜色集合答案相同,按颜色数dp

相邻两列有限制(集合不能相同,集合的并>q),用相邻两个集合的并或交来分类

转移式子能够矩阵快速幂,log掉m。

 

 

 

C. 序列

40%:把区间查询下发到每一个点,作前缀和,暴力求出第一次答案,以后每次考虑单点的修改之于全部查询的增量。

瓶颈在于求初始答案和下发操做。

100%:能够不把查询拍到每一个点上,考虑线段树,拍到区间节点上,知一个查询最多会放到2logn个节点上,空间复杂度O(2mlogn)。

以后单点查询累计路径上的查询答案便可。

相关文章
相关标签/搜索