博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4293 Groups
阅读量:5955 次
发布时间:2019-06-19

本文共 922 字,大约阅读时间需要 3 分钟。

       模型挺好的dp题,其实这道题就是建一个模型然后就很容易想到递推过程了,我们可以把每个人的描述,存到数组a中,a[l][r]表示左边有l个,到第r个这个人所在一层停止。。。然后就可以写出转移状态方程了。注意如果dp[i]>dp[j] && i < j  则需要把dp[j]更新为dp[i]。

 

#include
#include
#include
#include
#include
#define LL long long#define CLR(a, b) memset(a, b, sizeof(a))using namespace std;const int N = 555;int a[N][N], dp[N];int main(){ //freopen("input.txt", "r", stdin); int n, i, j, l, r; while(scanf("%d", &n) != EOF) { CLR(a, 0); CLR(dp, 0); for(i = 0; i < n; i ++) { scanf("%d%d", &l, &r); a[l][n - r] ++; } for(i = 0; i < n; i ++) { for(j = n - i - 1; j >= 0; j --) { dp[n - j] = max(dp[n - j], dp[i] + min(n - j - i, a[i][n - j])); dp[n - j] = max(dp[n - j], dp[n - j - 1]); } } printf("%d\n", dp[n]); }}

 

 

转载地址:http://maexx.baihongyu.com/

你可能感兴趣的文章
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
sed单行处理命令奇偶行输出
查看>>
走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
2013 Linux领域年终盘点
查看>>
linux学习之查看程序端口占用情况
查看>>
相逢在栀枝花开的季节
查看>>
linux下git自动补全命令
查看>>
Ubuntu14.04LTS更新源
查看>>
Linux报“Unknown HZ value! (288) Assume 100”错误
查看>>