题意:有n个长度为1的线段,确定它们的起点,使得第i个线段在【ri,di】之间,输出空隙数目的最小值。

思路:贪心。首先对区间进行排序,然后扫描一遍,当上一个线段最右边加1《=当前最左的点的时,那么ans++;

cdode:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;const int INF=0x3fffffff;
const int inf=-INF;
const int N=100005;
const int M=2005;
const int mod=1000000007;
const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(a))
#define fr(i,s,n) for (int i=s;i<=n;i++)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lrt  rt<<1
#define rrt  rt<<1|1
#define middle int m=(r+l)>>1
#define lowbit(x) (x&-x)
#define pii pair<int,int>
#define mk make_pair
#define IN freopen("in.txt","r",stdin);
#define OUT freopen("out.txt","w",stdout);pii v[N];
int main()
{int T,n;scanf("%d",&T);while(T--){scanf("%d",&n);fr(i,0,n-1) scanf("%d %d",&v[i].first,&v[i].second);sort(v,v+n);int l=-INF,r=INF,ans=0;fr(i,0,n-1){l=max(l+1,v[i].first);r=min(r+1,v[i].second);if (l>=r){++ans;l=v[i].first;r=v[i].second;}}printf("%d\n",ans);}
}

uva 1617——Laptop相关推荐

  1. UVa - 1617 - Laptop

    还是贪心法. 把原始数据排序,排序的规则是先依照右端点排序,右端点同样的情况下,再依照左端点排序.然后最左边開始遍历线段,取第一个线段的右端点,推断是否和第二个线段的右端点相等.假设相等,肯定能够缩短 ...

  2. 【uva 1617】Laptop(算法效率--贪心,2种理解)

    题意:有N条长度为1的线段,要求使每条线段分别在相应区间,且"空隙"数目最小.输出"空隙"数.(1≤N≤100000) 解法:(P.S.我这题竟做了2个多小时, ...

  3. UVa 1617 笔记本(Laptop)

    题意: 有n条长度为1的线段,确认他们的起点,使得第i条线段在ri 和 di之间,输入保证 ri <= rj 当且仅当 di<=dj 保证有解,输出空隙数目的最小值. 分析: 既然有解.那 ...

  4. 紫书 习题 8-15 UVa 1617 (贪心)

    先排序, 然后每个线段先放右端点, 然后往下放, 如果不能放就整体往左移动, 当不能往左移动的时候就ans++ 开始下一个整块.判断能不能向左移动要用一个变量储存每个已经放了的区间中线段与左端点距离的 ...

  5. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  6. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  7. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  8. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

  9. UVA 11752 超级幂

    UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

最新文章

  1. 使用Linq Xml 来读取一个目录下所有的文件并保存为Xml文档
  2. Unity 2D游戏开发快速入门(内部资料)
  3. 给交叉编译工具建立软连接用脚本
  4. Design Compiler指南——施加设计约束
  5. Java EE,Docker和Maven(技术提示#89)
  6. java基础分享_一、java基础教程
  7. 【读书笔记】MSDN 上关于加密解密的一个例子
  8. TQ210——按键(中断查询法)
  9. python2和3_python2和python3的区别
  10. LeetCode——Find Minimum in Rotated Sorted Array II
  11. 基于confd和etcd的tuxedo中间件容器化方案
  12. 联想Y7000安装显卡驱动
  13. c51C语言温度监控器流程图,51单片机温度控制系统原理图+程序+流程图-课程设计_508.doc...
  14. Three.js图像波动特效
  15. python3 软件加密狗_给软件制作加密狗 - virbox加密空间站 - OSCHINA - 中文开源技术交流社区...
  16. 教你如何把软件转移到另一台电脑?
  17. BGP和BGP机房各为什么?优势在哪?
  18. 同样是VPS,为什么RAKsmart更受欢迎
  19. ethtool 开启网卡_技术|如何使用 ethtool 命令管理以太网卡
  20. 企业微信接口错误代码汇总

热门文章

  1. web前端常用知识点
  2. Iterator作用
  3. SSM+solr 通过商品搜索学习solr的简单使用
  4. ORM框架greenDao 2 (用于了解旧版本的使用方法,目前最新版本为3.2.2,使用注释的方式来生成)...
  5. Linux自动化之Cobbler补鞋匠安装
  6. excel中如何取消自动超链接?
  7. 【SQL】分组数据,过滤分组-group by , having
  8. 排序算法之(7)——堆排序
  9. Jquery提交form表单
  10. 在数据库中outlet、code、outline为联合组件。hibarnate插入可如此插入