dp

数据:d[i].a d[i].b d[i].v 分别表示第i条线段的起始点,结束点,价值

先按d[i].b排好序

dp[i]表示前i条线段的最大价值

方程:

dp[i]=max{ dp[i-1]

       d[i].v

       dp[p]+d[i].v  p<i,d[p].b<=d[i].a AND p最大

      }

这三种情况分别对应着:不放i,只放i,放前p个和i

因为dp是递增的,所以取满足d[p].b<=d[i].a(能放i)的最大的p即可

代码如下:

#include<iostream>
#include<algorithm>
#define Size 1005
using namespace std; int n;
int dp[Size];
struct L{
int a,b,v;
}d[Size]; bool cnt(L x,L y){
return x.b<y.b; //b小的在前面,b一样随便
} int main(){
cin>>n;
int x,y,v;
for(int i=;i<=n;i++){
cin>>x>>y>>v;
if(x>y)swap(x,y);
d[i].a=x;
d[i].b=y;
d[i].v=v;
} sort(d+,d++n,cnt); dp[]=;
for(int i=;i<=n;i++){
dp[i]=max(dp[i-],d[i].v);
for(int p=i-;p>;p--){
if(d[p].b<=d[i].a){
dp[i]=max(dp[i],dp[p]+d[i].v);
break;
}
}
//cout<<dp[i]<<endl;
} cout<<dp[n]<<endl; fclose(stdin);
return ;
}

code3027 线段覆盖2的更多相关文章

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

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

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

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

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

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

  4. CodeVS 线段覆盖1~5

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

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

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

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

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

  7. wikioi 3027 线段覆盖 2

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

  8. wikioi 1214 线段覆盖

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

  9. COGS 265 线段覆盖

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

随机推荐

  1. Java堆外内存之七:JVM NativeMemoryTracking 分析堆外内存泄露

    Native Memory Tracking (NMT) 是Hotspot VM用来分析VM内部内存使用情况的一个功能.我们可以利用jcmd(jdk自带)这个工具来访问NMT的数据. NMT介绍 工欲 ...

  2. spring-session之四:Spring Session下的Redis存储结构

    spring-session项目启动后 127.0.0.1:6379> keys * 1) "spring:session:index:org.springframework.sess ...

  3. Java Web不能不懂的知识

    1.传说中java的class文件可以一次编译到处运行,那么源代码采用GBK还是UTF-8会有影响么? 不会有影响. 因为Java源代码通过编译后,生成的class文件为字节码.它可以被看作是包含一个 ...

  4. 项目中Map端内存占用的分析

      最近在项目中开展重构活动,对Map端内存尽量要省一些,当前的系统中Map端内存最高占用大概3G左右(设置成2G时会导致Java Heap OOM).虽然个人觉得占用不算多,但是显然这样的结果想要试 ...

  5. PyQt 5的基本功能

    PyQt5常用的模块 PyQt5的类别分为几个模块,包括: QtCore:包含非核心的GUI功能,此模块用于处理时间.文件和目录.各种数据类型.流.URL.MIME类型.线程或进程 QtGui:包括窗 ...

  6. 【语音识别】Microsoft Speech Platform 自学笔记2 环境要求与安装过程

    笔记人:又吹风 时 间:2012/12/16 主要内容:Microsoft Speech Platform的环境要求与安装过程. 上次也说过了,当前Microsoft Speech Platform最 ...

  7. opatch lsinventory –details

    今天把RAC的数据库升完级后,在RAC1节点执行opatch lsinventory –detail 命令,没有报错.在rac2节点执行报错: [oracle@rac2 ~]$ opatch lsin ...

  8. Tkinter tkMessageBox

            Tkinter tkMessageBox: tkMessageBox模块用于显示在您的应用程序的消息框.此模块提供了一个功能,您可以用它来显示适当的消息  tkMessageBox模块 ...

  9. Network Real Trace Analysis 2015年12月10日

    了解网络中真实的流量,国内很难找到巨人的肩膀. WAND是新西兰waikato 大学计算机系的研究小组,主要做网络测量,大规模网络流量捕获,网络分析.还做专业的分析软件. libtrace是其开源的分 ...

  10. ChannelHandler,ChannelHandlerContext,ChannelPipeline

    本小节一起学习一下ChannelHandler,ChannelHandlerContext,ChannelPipeline这三个Netty常用的组件,不探究它们的底层源码,我们就简单的分析一下用法 首 ...