
UVa
文章平均质量分 77
worldbuster
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVa-11235 - Frequent values
题目大意:给定一个不下降序列。输入多组询问:x, y,问在x ~ y区间的每个数的出现次数中最大的次数是多少分析:由于序列不降,所以序列中相同的数字一定一起出现。因此将重复数字合并成为一个段,记录该段中重复数字的个数,并进行rmq求这些段的区间最大值询问时,处理一下左右边界不完整的段,中间的段再用rmq即可。(用数组记录每个数字所在的段,以及所在这段的段首和段尾)程序:#i原创 2013-05-15 21:32:54 · 330 阅读 · 0 评论 -
UVa-1400 - "Ray, Pass me the dishes!"
题目大意:已知一个数列。每次询问x、y,求在区间 [x,y] 中,数字和最大的段i、j分析:线段数。分别记录前缀和最大,后缀和最大,以及区间和最大的位置即可程序:#include #include #include using namespace std;#define LL long longconst int Max_N = 1000010;int原创 2013-05-17 23:30:55 · 681 阅读 · 0 评论 -
UVa-1428 - Ping pong
题目大意:已知一个数列a1,...,an问,有多少种形如ai = aj >= ak 的组合。分析:首先枚举 j,当 j确定时,ai = aj >= ak的组合数为c_[j] * d[j]其中c[j]代表在 j 的左边且比 aj 小的数,c_[j]代表在 j 的左边且比 aj 大的数。易知,c[j] + c_[j] = j - 1d[j]代表在 j 的右边且比 aj 小的原创 2013-05-13 21:19:41 · 394 阅读 · 0 评论