看到n范围和给的区间看着就像区间dp 然后怎么cmp感觉都没法进行区间合并

n的300误导了下 没有注意离散化之后对时间可以dp

然而这个dp感觉不太经得起证明的样子...

dp[i][j] -> 把完全包含在[i,j]里面的区间打完的cost

那么枚举裂缝 需要加上的是 跨越裂缝的区间的cost 这个没办法做

可以知道 如果有两个完全不相交的区间 它们肯定会分在裂缝的两边 所以不用管

所以我们只需要考虑那些 完全连接在一起的区间 选择最贵的一个打掉

而裂缝肯定在最贵的[l,r]里面

* 1 区间离散化不影响做题

* 2 不一定非要泛用决战型枚举裂缝

int a[305] , b[305] , c[305] ;
int dp[605][605] ;
int main () {
int t = read() ;
while(t -- ) {
flc(dp,0) ;
int n = read() ;
vector<int> e ;
rep(i,1,n) {
a[i]=read(),b[i]=read(),c[i]=read();
e.pb(a[i]) , e.pb(b[i]) ;
}
sort(e.begin(),e.end()) ;
e.erase(unique(e.begin(),e.end()),e.end()) ;
rep(i,1,n) {
a[i] = lower_bound(e.begin(),e.end(),a[i])-e.begin()+1 ;
b[i] = lower_bound(e.begin(),e.end(),b[i])-e.begin()+1 ;
}
int m = e.size();
rep(len,2,m) {
rep(i,1,m){
int j=i+len-1;
if(j>m)break ;
int C = -1 ;
int l = -1 , r = -1 ;
rep(k,1,n) {
if(a[k] >= i && b[k] <= j) {
if(C < c[k]) {
l = a[k] , r = b[k] ; C = c[k] ;
}
}
}
if(l == -1) {
dp[i][j] = 0 ;
}
else {
dp[i][j] = 999999999 ;
rep(k,l,r) {
dp[i][j] = min(dp[i][j] , dp[i][k-1] + dp[k+1][j] + C) ;
}
}
}
}
printf("%d\n" , dp[1][m]) ;
}
}

uvalive 6938 区间dp的更多相关文章

  1. UVALive - 7061 区间DP初步

    题意:杀一只狼i会收到a[i]+b[i当前左边]+b[i当前右边]的攻击,求杀死所有狼的最小代价 #include<iostream> #include<algorithm> ...

  2. UVALive 4987---Evacuation Plan(区间DP)

    题目链接 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  3. 【BZOJ-4380】Myjnie 区间DP

    4380: [POI2015]Myjnie Time Limit: 40 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 162  Solved: ...

  4. 【POJ-1390】Blocks 区间DP

    Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5252   Accepted: 2165 Descriptio ...

  5. 区间DP LightOJ 1422 Halloween Costumes

    http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...

  6. BZOJ1055: [HAOI2008]玩具取名[区间DP]

    1055: [HAOI2008]玩具取名 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1588  Solved: 925[Submit][Statu ...

  7. poj2955 Brackets (区间dp)

    题目链接:http://poj.org/problem?id=2955 题意:给定字符串 求括号匹配最多时的子串长度. 区间dp,状态转移方程: dp[i][j]=max ( dp[i][j] , 2 ...

  8. HDU5900 QSC and Master(区间DP + 最小费用最大流)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5900 Description Every school has some legends, ...

  9. BZOJ 1260&UVa 4394 区间DP

    题意: 给一段字符串成段染色,问染成目标串最少次数. SOL: 区间DP... DP[i][j]表示从i染到j最小代价 转移:dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k ...

随机推荐

  1. JQUERY实现的小巧简洁的无限级树形菜单

    JQUERY实现的小巧简洁的无限级树形菜单,可用于后台或前台侧栏菜单!兼容性也比较好. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra ...

  2. 巨蟒python全栈开发flask目录

    预习1: 1.FlaskWeb框架: https://www.cnblogs.com/DragonFire/category/1246076.html 人工智能技术应用: https://www.cn ...

  3. Python 模块相对引用

    文件结构如下 python_directory/ ├── __init__.py └── app ├── __init__.py ├── sub1 │   ├── __init__.py │   └─ ...

  4. 为什么要提倡"Design Pattern"呢? 开闭原则 系统设计时,注意对扩展开放,对修改闭合。

    [亲身经历] 无规矩不成方圆 设计模式 - 搜狗百科 https://baike.sogou.com/v123729.htm?fromTitle=设计模式 为什么要提倡"Design Pat ...

  5. A Universally Unique IDentifier (UUID) URN Namespace

    w Network Working Group P. Leach Request for Comments: 4122 Microsoft Category: Standards Track M. M ...

  6. <2013 08 13> TeX and LaTeX, some introduction

    1.  TeX是Donald E. Knuth教授的精心杰作,它是个功能非常强大的幕后排版系统,含有弹性很大,而且很低阶的排版语言.含有九百多条指令,用Pascal语言(的一个子集)写成. 2.  T ...

  7. QThread与多线程(比较清楚)

    QThread类为我们提供了一种平台无关的管理线程的方式.一个QThread对象管理应用程序中的一个线程,该线程从run()函数开始执行.并且,默认情况下,我们可以在run()函数中通过调用QThre ...

  8. MySQL中too many connections超出最大连接数的处理方法

    MySQL最大连接数的问题 在MySQL的源码中,默认最大的连接数是16384 {"max_connections", OPT_MAX_CONNECTIONS, "The ...

  9. 基于websocket搭建简易群聊

    1.前端HTML <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&qu ...

  10. 《Python机器学习》笔记(五)

    通过降维压缩数据 在前面已经介绍了几种不同的特征选择技术对数据集进行降维的方法.另一种常用于降维的特征选择方法就是特征抽取.数据压缩也是机器学习领域中的一个重要内容.数据压缩技术可以帮助我们对数据及逆 ...