摘要: 题目含义 给出一堆数和一个数T 找出满足区间和严格小于T的区间个数 题目分析 又是求区间和,那么就考虑前缀和[a,b]=sum[b]-sum[a-1]<T 如果求出前缀和用两个循环一个个试,那肯定会超时 而式子可以化作 sum[j]-T<sum[i],j>i,这就很像一个求逆序对的问题了 题目代码 阅读全文
posted @ 2019-07-21 21:12 helman78 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目含义 给出一堆数,和一系列操作 Q是求区间的值,C是区间每个数都增加一个数 题目分析 可以用线段树做,但这里就用树状数组做了 题目代码 一次过了,开心 阅读全文
posted @ 2019-07-21 20:15 helman78 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目含义 给出一堆数,要你在里面找几个相邻的数 它们的和乘以它们的最小值是这所有数里最大的 输出它们得到的值以及第一个数的坐标和最后一个数的坐标 题目分析 这个式子是:这些数的和 乘以 这些数的最小值 那么如果最小值不变,数的个数是越多越好(因为数都大于零) 那么我们可以考虑根据最小值划分区间,并按 阅读全文
posted @ 2019-07-21 19:28 helman78 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目含义 给出一个区间的长度,要你在一堆数中移动这个区间(保持区间长度不变),找出对应的最大最小值 题目解析 这个区间在向右移动,那么时时刻刻有数离开这个区间,有数加入这个区间,这样的话可以考虑单调队列 把这些数按从大到小的顺序放入一个数组,并且从大到小判断这个数是否满足在这个区间,不满足就取出 这 阅读全文
posted @ 2019-07-21 18:53 helman78 阅读(76) 评论(0) 推荐(0) 编辑