摘要: 题意:给出n个无序的数以及m个操作,每个操作由两个数组成,第一个数是操作的方式,第二个数 i 是操作的范围,若第一个数是1,则给 1-i 个数按升序排序,若第二个数是2,则给 1-i 个数按降序排列。输出所有操作完成后的序列。 阅读全文
posted @ 2018-08-06 23:31 planche 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 让你计算所有连续子序列的最大值-最小值的和。 (单调栈) 对于一个数Ai来讲,如果其有贡献的价值,要么是-Ai作为最小值,要么是Ai作为最大值。 那么Ans=ΣAi*maxn-Ai*minn. 阅读全文
posted @ 2018-08-06 05:53 planche 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 给出一个字母串,k满足:长度至少为k的字串一定包含某字母c,求最小的k 一个数组记录每个字母上一次出现的位置,用来计算另一个数组:记录每个字母与其相邻的相同字母的最大距离(设0和len两个位置一定有相同的字母),答案就是这个数组中的最小值啦~ 阅读全文
posted @ 2018-08-06 03:31 planche 阅读(248) 评论(0) 推荐(0) 编辑
摘要: const int N = 2e6 + 5;//开两倍空间 int n; arr p,cnt; int l,r,m; ll sum = 0,ans; int main() { // file("test"); sdf(n); For(i, 1, n) sdf(p[i]); For(i, 1, n) { sum += abs(p... 阅读全文
posted @ 2018-08-06 02:44 planche 阅读(185) 评论(0) 推荐(0) 编辑