zoukankan      html  css  js  c++  java
  • CODE[VS] 2774 火烧赤壁

    题目描述 Description

    曹操平定北方以后,公元208年,率领大军南下,进攻刘表。

    他的人马还没有到荆州,刘表已经病死。他的儿子刘琮听到曹军声势浩大,吓破了胆,先派人求降了

    孙权任命周瑜为都督,拨给他三万水军,叫他同刘备协力抵抗曹操。

    隆冬的十一月,天气突然回暖,刮起了东南风。

    没想到东吴船队离开北岸大约二里距离,前面十条大船突然同时起火。

    火借风势,风助火威。十条火船,好比十条火龙一样,闯进曹军水寨。

    那里的船舰,都挤在一起,又躲不开,很快地都烧起来。一眨眼工夫,已经烧成一片火海。

    曹操气急败坏的把你找来,要你钻入火海把连环线上着火的船只的长度统计出来!

    输入描述 Input Description

    第一行:N
    以后N行,每行两个数:Ai Bi(表示连环线上着火船只的起始位置和终点,-10^9<=Ai,Bi<=10^9)

    输出描述 Output Description

    输出着火船只的总长度

    样例输入 Sample Input

    3
    -1 1
    5 11
    2 9

    样例输出 Sample Output

    11

    数据范围及提示 Data Size & Hint

    n<=20000

    如果Ai=Bi是一个点则看作没有长度

    哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!……

    我的喜悦不能停,

    哈哈哈哈哈

    突如其来的假期啊!!!

    突如其来的幸福啊!!!

    耶耶耶!!!

    这个题,我看完之后就一直在想线段覆盖。。。

    就是个贪心,包含着排序,

    左端点排序,

    然后枚举每个右端点的位置,

    进行筛选加和。

    就好了,

    详细看代码,

    挺好理解的!

    开心啊!!!

    代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 #include<queue>
     7 using namespace std;
     8 
     9 int n,ans,now;
    10 
    11 struct node{
    12     int l,r;
    13 }a[20002]; 
    14 
    15 bool cmp(node x,node y)
    16 {
    17     return x.l <y.l ;
    18 }
    19 
    20 int main()
    21 {
    22     scanf("%d",&n);
    23     for(int i=1;i<=n;++i)
    24     {
    25         scanf("%d%d",&a[i].l ,&a[i].r );
    26         if(a[i].l >a[i].r )
    27             swap(a[i].l ,a[i].r );
    28     }
    29     sort(a+1,a+n+1,cmp);
    30     ans=a[1].r -a[1].l ;
    31     now=a[1].r ;
    32     for(int i=1;i<=n;++i)
    33     {
    34         if(now>=a[i+1].l &&now<=a[i+1].r )
    35             ans+=a[i+1].r -now;
    36         else if(now<=a[i+1].l &&now<=a[i+1].r )
    37             ans+=a[i+1].r -a[i+1].l ;
    38         if(now<a[i+1].r )
    39             now=a[i+1].r ;
    40     }
    41     printf("%d",ans);
    42     return 0;
    43 }

    如果你不开心,那我就把右边这个帅傻子分享给你吧,

    你看,他这么好看,那么深情的望着你,你还伤心吗?

    真的!这照片盯上他五秒钟就想笑了。

    一切都会过去的。

    时间时间会给你答案2333

     

  • 相关阅读:
    万能分页方法!机会难得,在此送给大家
    Java长存!12个Java长久占居主要地位的原因
    angularjs1.x radio组checkbox组
    js动态显示vlc视频直播
    Lodop 分页详解,可详细了呢
    lodop 实现分页打印账单 最后一页右下角加入确认签字
    lodop分页,页眉页脚,foreach分页代码
    ajax最简单验证
    Httpcilent获取带验证码的网站内容
    设计模式(转载)
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9416555.html
Copyright © 2011-2022 走看看