http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=2202

Description

凤凰院凶真又双叒叕踏上了拯救牧濑红莉栖之路,现在有 NN 条世界线 [l1,r1],[l2,r2],...,[lN,rN][l1,r1],[l2,r2],...,[lN,rN] 。

从这些世界线中选出 KK 个,考虑其交集,即被所 有 KK 个世界线包含的点集。交集必然也是一个世界线,设为 [l,r][l,r] ,则其长度为 r−lr−l 。

只有世界线的交集最大,冈部才有足够的时间完成任务。 请求出所有选出 KK 个世界线的方案中,交集长度最大的。

Input

输入的第一行包含一个整数 TT ,代表测试数据的组数。接下来是 TT 组数据。

每组数据的第一行包含两个整数 NN 和 KK 。接下来NN 行,每行包含两个整数 lili 和 riri ,描述一 个世界线。

Output

对于每组数据,输出一行,包含一个整数,代表交集的最大长度。

Sample Input

1
3 2
1 6
2 4
3 6

Sample Output

3

Hint

1≤T≤10001≤T≤1000

1≤K≤N≤1051≤K≤N≤105

1≤li≤ri≤1091≤li≤ri≤109

∑n≤5∗105∑n≤5∗105

Source

Author

xm

思路:贪心,读入数据按照区间左端点排序,然后遍历序列,用优先队列维护区间右端点的最小值,当队列中有k个元素的时候,更新最大值MAX=max(q.top()-a[i].l),(此时交集的左端点的最大值一定是a[i].l)当队列中元素>k个时,进行出队操作。

#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;struct node
{int l,r;bool operator <(const node& a){return l<a.l;}
};int t;
int n,k;
node a[100005];int main()
{int t;scanf("%d",&t);while(t--){scanf("%d %d",&n,&k);for(int i=0;i<n;i++)scanf("%d %d",&a[i].l,&a[i].r);sort(a,a+n);priority_queue<int,vector<int>,greater<int> > q;int MAX=0;for(int i=0;i<n;i++){q.push(a[i].r);if(q.size()>k)q.pop();if(q.size()==k)MAX=max(MAX,q.top()-a[i].l);}printf("%d\n",MAX);}return 0;
}

CSU 2202 EL PSY CONGROO相关推荐

  1. EL PSY CONGROO

    加粗样式 #include <bits/stdc++.h> using namespace std; int mod = 98319; vector<int> edge[100 ...

  2. E.Okabe and El Psy Kongroo

    传送门 E. Okabe and El Psy Kongroo time limit per test 2 seconds memory limit per test 256 megabytes in ...

  3. codeforce#420 E. Okabe and El Psy Kongroo(图论+矩阵快速幂)

    题目链接 E. Okabe and El Psy Kongroo 分析 首先对于坐标为 (x,y)(x,y) 的点,设 f(x,y)f(x,y) 表示从原点到 (x,y)(x,y) 的路径不难得到递推 ...

  4. Codeforce821E Okabe and El Psy Kongroo

    题意:给n条水平线段点终点高度,只能右上方向走,向右走,右下方向走,只能在第一象限及坐标轴上线段下面运动问到(K,0)有多少种方案 题解:可以推出DP式子,对每一条线段使用快速幂 #include & ...

  5. 【codeforces 821E】Okabe and El Psy Kongroo

    [题目链接]:http://codeforces.com/problemset/problem/821/E [题意] 一开始位于(0,0)的位置; 然后你每次可以往右上,右,右下3走一步; (x+1, ...

  6. CF821 E. Okabe and El Psy Kongroo 矩阵快速幂

    LINK 题意:给出$n$条平行于x轴的线段,终点$k$坐标$(k <= 10^{18})$,现在可以在线段之间进行移动,但不能超出两条线段的y坐标所夹范围,问到达终点有几种方案. 思路:刚开始 ...

  7. [CF 821E] Okabe and El Psy Kongroo

    题目 洛谷 题意 给定一个二维坐标系和一些线段,求从 (0,0)(0,0)(0,0) 走到 (k,0)(k,0)(k,0) 的方案总数.若当前坐标为 (x,y)(x,y)(x,y),下一步可以拓展到 ...

  8. CF821E Okabe and El Psy Kongroo

    一.题目 点此看题 好像某谷还没有翻译,建议翻译看看第一篇题解(还有一个提示比较重要) 二.解法 首先不考虑线段的限制,容易写出式子dp[i][j]=dp[i−1][j]+dp[i−1][j+1]+d ...

  9. CF821E 【Okabe and El Psy Kongroo】

    首先我们从最简单的dp开始 \(dp[i][j]=dp[i-1][j]+dp[i-1][j+1]+dp[i-1][j-1]\) 然后这是一个O(NM)的做法,肯定行不通,然后我们考虑使用矩阵加速 \( ...

  10. cf 821E Okabe and El Psy Kongroo(矩阵快速幂)

    链接:http://codeforces.com/problemset/problem/821/E 分析:由于有边界而且不同段边界还不同,直接算是不行的..k是1e18,dp也不行..用一个16维的向 ...

最新文章

  1. 让Flash背景透明兼容Firefox、IE 6和IE 7的代码
  2. 如何自学python到做项目-如何使用python进行第一个机器学习项目(详细教程篇)...
  3. webView 点击连接如何不让跳转到系统的 浏览器
  4. 建立能够持续请求的CS网络程序
  5. SCCM 2007 R2部署、操作详解系列之部署篇
  6. 云原生时代的运维体系进化
  7. Cannot set property 'onclick' of null报错
  8. ISO50001认证辅导,ISO50001提高能源利用效率的潜力涉及到产品实现的全过程
  9. 测试计划包括哪些内容?目的和意义是什么?
  10. eeglab使用与错误解决
  11. 常用的SQL注入语句
  12. 烽火fr2600怎么web登录_烽火R2600路由器配置步骤及脚本文件
  13. oracle locked time,Oracle里面的用户无法登录 LOCKED(TIMED)解决方法
  14. 存储,对比私有云和公有云的不同
  15. 了解与MDIO/MDC接口相关的22号、45号条款
  16. 互联网名词有哪些?读了这篇就够了
  17. 苹果遭遇史上最严厉的泄密:自家的iOS源代码居然泄漏了
  18. 一个屌丝程序猿的人生(三十五)
  19. (前端开发)java获得当前时间和第二天时间
  20. 一篇弄懂主成分分析及matlab实现

热门文章

  1. 22. SCHEMA_PRIVILEGES
  2. 函数型计算机有储存功能吗,无存储功能的计算器指的是什么
  3. 30【源码】数据可视化大屏:基于 Echarts + Python Flask 实现的32-9超宽大屏 - 中国国际疫情实时追踪
  4. Latex插入文献--利用谷歌学术
  5. 第一次马拉松(2013上海国际马拉松赛)
  6. C# XmlDocument.Save文件操作System.IO.IOException:The process cannot access the file because it is being
  7. RK3399外设驱动之PWM驱动:红外驱动
  8. C# DevExpress控件安装使用教程
  9. ubuntu16.04之间实现桌面共享
  10. PyCharm - Split Vertically Split Horizontally (垂直拆分窗口 水平拆分窗口)