hdu6249 区间动态规划
题目链接
题意:给出一些区间,求选k个区间能覆盖的最多点的数量
思路:定义dp[i][j]为前i个点取j个区间的最大值。dp[i][j]可以转移到dp[i+1][j+1]和以i+1为起点的区间终点
具体可以看代码
#include <iostream>
#include <cstdio>
using namespace std;
#define ll long long const int maxn = 2005; int t[maxn],dp[maxn][maxn];
int main()
{
int T;
cin>>T;
for(int cn=1;cn<=T;cn++)
{
int ans=0;
int n,m,k;
scanf("%d %d %d",&n,&m,&k);
for(int i=0;i<=n;i++)
{
for(int j=0;j<=k;j++)dp[i][j]=0;
t[i]=0;
}
for(int i=1;i<=m;i++)
{
int x,y;
scanf("%d %d",&x,&y);
for(int j=x;j<=y;j++)
{
t[j]=max(t[j],y);
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=k;j++)
{
if(t[i])
dp[t[i]][j]=max(dp[t[i]][j],dp[i-1][j-1]+t[i]-i+1);
dp[i][j]=max(dp[i][j],dp[i-1][j]);
}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=k;j++)
ans=max(ans,dp[i][j]);
cout<<"Case #"<<cn<<": ";
cout<<ans<<endl;
}
return 0;
}
hdu6249 区间动态规划的更多相关文章
- 【算法•日更•第十期】树型动态规划&区间动态规划:加分二叉树题解
废话不多说,直接上题: 1580:加分二叉树 时间限制: 1000 ms 内存限制: 524288 KB提交数: 121 通过数: 91 [题目描述] 原题来自:NOIP 20 ...
- 【算法•日更•第三十期】区间动态规划:洛谷P4170 [CQOI2007]涂色题解
废话不多说,直接上题: P4170 [CQOI2007]涂色 题目描述 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符 ...
- SPOJ 345 - Mixtures 区间动态规划
有n个混合物排成一排,每个混合物有一个颜色值0<=color<=99, 规定合并只能合并相邻两个, 将颜色a的混合物与颜色b的混合物合并后,颜色为( a+b ) % 100,并产生a*b的 ...
- BZOJ1068 [SCOI2007]压缩 区间动态规划 字符串
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1068 题目概括 (其实是复制的) 给一个由小写字母组成的字符串,我们可以用一种简单的方法来压缩其中 ...
- BZOJ1090 [SCOI2003]字符串折叠 区间动态规划 字符串
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1090 题意概括 折叠的定义如下: 1. 一个字符串可以看成它自身的折叠.记作S 2. X(S)是X ...
- hdu4632 Palindrome subsequence ——区间动态规划
link:http://acm.hdu.edu.cn/showproblem.php?pid=4632 refer to: o(╯□╰)o……明明百度找的题解,然后后来就找不到我看的那份了,这位哥们对 ...
- 区间动态规划 矩阵连乘 Medium
The multiplication puzzle is played with a row of cards, each containing a single positive integer. ...
- HDU2205 又见回文(区间DP)
题意:给定两个字符串(可能为空串),求这两个串交叉组成新串的子串中的回文串的最大长度. 布尔型变量dp[i][j][k][l]表示串a从i到j,b从k到l能否组成新串,初始化为false,则采取区间动 ...
- 【模板】【转载】区间dp
区间动态规划问题一般都是考虑,对于每段区间,他们的最优值都是由几段更小区间的最优值得到,是分治思想的一种应用,将一个区间问题不断划分为更小的区间直至一个元素组成的区间,枚举他们的组合 ,求合并后的最优 ...
随机推荐
- 我喜欢的vs+va快捷键
拿到新版的vs,我首先会安装va,然后自定义快捷键.现在有些快捷键被系统占用,可以先remove掉,然后换成自己熟悉的快捷键.需要做到常用快捷键两个按键即可. alt+Q:文件中查询,复杂查询 ctr ...
- python爬虫之12306网站--车站信息查询
python爬虫查询车站信息 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息进行处理 python爬虫查询全拼相同的车站 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息 ...
- Linux 内核学习经验总结
Linux 内核学习经验总结 学习内核,每个人都有自己的学习方法,仁者见仁智者见智.以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下. 内核学习,一偏之见:疏漏难 ...
- XPATH如何选择不包含某一个属性的节点?
XPATH如何选择不包含某一个属性的节点?今天博主在写一个爬虫的时候就碰到了这个问题. 我们知道选择包含某一特定属性的节点,可以使用例如//tbody/tr[@class]来选择.那么不含某属性的节点 ...
- UVA1442-Cav(扫描法)
Problem UVA1442-Cav Accept: 185 Submit: 679Time Limit: 3000 mSec Problem Description Input The inpu ...
- Oracle调整顾问(SQL Tuning Advisor 与 SQL Access Advisor
在Oracle数据库出现性能问题时,使用Oracle本身的工具包,给出合理的调优建议是比较省力的做法. tuning advisor 是对输入的sql set的执行计划进行优化accsee advis ...
- centos7 mysql5.7安装
环境:centos7.4 mysql:5.7 安装方式yum安装: wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noa ...
- linux中启动 java -jar 运行程序
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉.以 ...
- 第5章 Java中的锁
5.1 Lock接口 并发编程安全性需要使用到锁,synchronized是一种隐式的获得与释放锁的关键字,除此之外还有Lock接口及其实现类,该接口及实现类提供了显示获取和释放锁的方式. 除了上述编 ...
- mysql创建索引的原则
在mysql中使用索引的原则有以下几点: 1. 对于查询频率高的字段创建索引: 2. 对排序.分组.联合查询频率高的字段创建索引: 3. 索引的数目不宜太多 原因:a.每创建一个索引都会占用相应的物理 ...