Assignment

Problem's Link:  http://acm.hdu.edu.cn/showproblem.php?pid=5289


Mean:

给你一个数列和一个k,求连续区间的极值之差小于k的数的个数。

analyse:

用两个优先队列来维护区间的最大值和最小值,每次插入新值的时候检查区间内的极值差是否满足条件,不满足就将最左边的数删除,直到满足条件为止。ans每次加上区间的长度即得最终答案。

Time complexity: O(N)

Source code: 

/*
* this code is made by crazyacking
* Verdict: Accepted
* Submission Date: 2015-07-21-21.38
* Time: 0MS
* Memory: 137KB
*/
#include <queue>
#include <cstdio>
#include <set>
#include <string>
#include <stack>
#include <cmath>
#include <climits>
#include <map>
#include <cstdlib>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#define  LL long long
#define  ULL unsigned long long
using namespace std;int main()
{ios_base::sync_with_stdio( false );cin.tie( 0 );int Cas;cin >> Cas;while( Cas-- ){int n, k, tmp;cin >> n >> k;vector<int> v;for( int i = 0; i < n; ++i ){cin >> tmp;v.push_back( tmp );}multiset<pair<int, int> > q1, q2;int l = 0, r = 0;LL ans = 0;while( r < n ){q1.insert( make_pair( v[r], r ) ), q2.insert( make_pair( -v[r], r ) );while( -( *q1.begin() ).first - ( *q2.begin() ).first >= k ){q1.erase( make_pair( v[l] , l ) ), q2.erase( make_pair( -v[l], l ) );l++;}ans += r - l + 1;r++;}cout << ans << endl;}return 0;
}
/**/

  

2015 Multi-University Training Contest 1 - 1002 Assignment相关推荐

  1. 2015 Multi-University Training Contest 2 1002 Buildings

    Buildings Problem's Link:  http://acm.hdu.edu.cn/showproblem.php?pid=5301 Mean: n*m列的网格,删除一个格子x,y,用矩 ...

  2. 2017 Multi-University Training Contest - Team 7:1002. Build a tree(递归)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  3. HUST-2015 Multi-University Training Contest 9

    2015 Multi-University Training Contest 9 solutions BY xudyh 1001.Expression 记dp_{l,r}dp​l,r​​表示l,rl, ...

  4. 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard(...)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  5. 2017 Multi-University Training Contest - Team 7:1010. Just do it(组合数?)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  6. 2017 Multi-University Training Contest - Team 7:1008. Hard challenge(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  7. 2017 Multi-University Training Contest - Team 7:1011. Kolakoski(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  8. 2017 Multi-University Training Contest - Team 7:1005. Euler theorem(答案是(n+3)/2)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard 2017 Multi-Univer ...

  9. 2016 Multi-University Training Contest 10

    solved 7/11 2016 Multi-University Training Contest 10 题解链接 分类讨论 1001 Median(BH) 题意: 有长度为n排好序的序列,给两段子 ...

最新文章

  1. php安装pear和phpunit
  2. Java的List和Json转换以及StringRedisTemplate往redis存泛型对象
  3. 笔记本8G+256G固态免费送,吃鸡不吃力,包邮!
  4. 【深度学习】Transformer 向轻量型迈进!微软与中科院提出两路并行的 Mobile-Former...
  5. 【渝粤教育】广东开放大学 个人与团队管理 形成性考核 (57)
  6. React开发(263):react中处理时间的判断
  7. 基础知识很扎实 - 但是面试就是做不出来, 怎么办? (长, 慎入)
  8. 电商夏季促销海报设计PSD模板,分解教你如何设计
  9. Python文件操作与matplotlib数据可视化案例一则
  10. Nginx源码分析 - 主流程篇 - 模块的初始化(12)
  11. (3)Matplotlib_subplot, subplots
  12. 信号与系统——有关卷积的意义
  13. 2022数学建模“五一杯”B题 题解+论文
  14. 计算机怎么退出远程桌面连接,怎么退出远程桌面控制?远程桌面软件哪个好?
  15. 小说网站系统源码|PHP付费小说网站源码带app
  16. 电脑录制网课视频怎么操作?
  17. 《Kotlin 程序设计》第十二章 Kotlin的多线程:协程(Coroutines)
  18. 如何在Windows上为代码签名创建自签名证书
  19. *抽象对象的类解释 数解释和真值解释---- 布尔逻辑之五****
  20. 营销理论扫盲贴:4P/4C/4R/4S

热门文章

  1. pythonexcel运用_python怎样在excel中应用?
  2. 异形隔离java剧情_异形隔离攻略 系统上手教程 全剧情流程图文攻略(41)
  3. 第十七届智能车竞赛英飞凌专题培训 ——四轮摄像头组入门讲解
  4. 半波整流后的灯泡功率是多少?
  5. 测试逐飞的MM32F3277 MicroPython开发板的基本功能
  6. 两个晶体管组成的混沌电路
  7. 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 东北赛区(第一批次)
  8. 2021年第十六届全国大学生智能汽车竞赛线上比赛的广东、山东赛区赛道铺设规范
  9. 第十五届全国大学生智能车竞赛室外光电创意组别进入线下比赛的队伍名单
  10. ce修改器传奇刷元宝_真原始传奇刷元宝方法 不封号刷元宝技巧