http://wikioi.com/problem/1214/ 这道题也归为贪心了。我也不是很能分辨,但想法确实是:1.有阶段最优化性;2.前一状态和后一状态有关系。

想法:
1.排个序是很自然的想法,假设按照左端点排序吧;
2.然后从左往右取,那么会遇到i+1的左端和当前最右端是否冲突的问题;
3.如果不冲突,就把i+1放进来;如果冲突,那么取i+1还是之前的那个呢,就看拿个的右端更小;
4.因为反正两个里面取一个,不会改变左边的最多能取的线段树,而右端更小使右边能取的线段树可能更多;
5.所以每次比较处理后,比如i处理完了,那么就计算完到i为止能取的最多线段数目,也记录了当前组合最右的断点;
6.排序为了代码简单,就冒泡了一下,也不超时,就先这样了;

#include <iostream>
using namespace std;
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
} int main()
{
int a[100][2];
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a[i][0];
cin >> a[i][1];
if (a[i][0] > a[i][1])
{
swap(a[i][0], a[i][1]);
}
}
for (int i = 0; i < n; i++)
{
for (int j = i+1; j < n; j++)
{
if (a[i][0] > a[j][0])
{
swap(a[i][0], a[j][0]);
swap(a[i][1], a[j][1]);
}
}
}
int rightEnd = a[0][1];
int sum = 1;
for (int i = 1; i < n; i++)
{
if ( rightEnd > a[i][0])
{
if (a[i][1] < rightEnd) rightEnd = a[i][1];
}
else
{
sum++;
rightEnd = a[i][1];
}
}
cout << sum;
}

  

[wikioi]线段覆盖的更多相关文章

  1. [wikioi]线段覆盖 2

    http://wikioi.com/problem/3027/ # 有个小错误调了半天,最终发现sort(line, line+N)错了,后面那个是exclusive的,所以要line+N+1.# 按 ...

  2. wikioi 3027 线段覆盖 2

    题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段 ...

  3. wikioi 1214 线段覆盖

    题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,--N.这些坐标都是区间(-999,999)的整数.有些线段 ...

  4. CODEVS3037 线段覆盖 5[序列DP 二分]

    3037 线段覆盖 5   时间限制: 3 s   空间限制: 256000 KB   题目等级 : 钻石 Diamond 题解       题目描述 Description 数轴上有n条线段,线段的 ...

  5. CODEVS1643 线段覆盖3[贪心]

    1643 线段覆盖 3   时间限制: 2 s   空间限制: 256000 KB   题目等级 : 黄金 Gold 题解       题目描述 Description 在一个数轴上有n条线段,现要选 ...

  6. COGS 265线段覆盖[线段树]

    265. 线段覆盖 ★★☆   输入文件:xdfg.in   输出文件:xdfg.out   简单对比时间限制:2 s   内存限制:20 MB [问题描述] 有一根长度为 L 的白色条状物.有两种操 ...

  7. CodeVS 线段覆盖1~5

    #include <bits/stdc++.h> using namespace std; ; struct Info{int l,r;}P[Maxn]; int n,Cnt,F[Maxn ...

  8. 【BZOJ-3589】动态树 树链剖分 + 线段树 + 线段覆盖(特殊的技巧)

    3589: 动态树 Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 405  Solved: 137[Submit][Status][Discuss] ...

  9. codevs 3012 线段覆盖 4 & 3037 线段覆盖 5

    3037 线段覆盖 5  时间限制: 3 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 数轴上有n条线段,线段的两端都 ...

随机推荐

  1. BSP模型

    http://www.uml.org.cn/yunjisuan/201212191.asp Hama中最关键的就是BSP(Bulk Synchronous Parallel-"大型" ...

  2. 理解Spark的RDD

    RDD是个抽象类,定义了诸如map().reduce()等方法,但实际上继承RDD的派生类一般只要实现两个方法: def getPartitions: Array[Partition] def com ...

  3. 多个html编辑器在同一页面加载

    http://127.0.0.1:3750/test.aspx 下载:ckfinder,ckeditor编辑器 <script type="text/javascript" ...

  4. ASP.NET 上传图片添加文字、Logo水印

    http://www.cnblogs.com/xvqm00/archive/2010/06/22/1762783.html

  5. SQLite 入门教程(一)基本控制台(终端)命令

    一.基本简介 SQLite 是一个自持的(self-contained).无服务器的.零配置的.事务型的关系型数据库引擎.因为他很小,所以也可以作为嵌入式数据库内建在你的应用程序中.SQLite 被应 ...

  6. ASP.NET验证控件详解

    现在ASP.NET,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服务器端进行还是在客户端进行,再也不必考虑那么多了,程序员们可以将重要精力放在主程序的设计上了. ASP.NET公有六种 ...

  7. asp.net Hierarchical Data

    Introduction A Hierarchical Data is a data that is organized in a tree-like structure and structure ...

  8. Asp.net 定时写入文本记录

    Asp.net 定时写入文本记录 public static string FileAddress = "c:\\TimerLog.txt"; protected void Pag ...

  9. 基于CAShapeLayer以及UIBezierPath的语音输入效果动画封装

    详情地址 嗯,主要是在简书上写,大家可以关注我的简书,如果有什么更好的建议也可以评论,探讨,加以斧正.

  10. OpenJudge/Poj 1915 Knight Moves

    1.链接地址: http://bailian.openjudge.cn/practice/1915 http://poj.org/problem?id=1915 2.题目: 总Time Limit: ...