hdu 1257 贪心
来源:互联网 发布:nginx 更改根目录 编辑:程序博客网 时间:2024/06/10 11:05
这道题其实就是求原序列能分割成最少的连续下降子序列的序列的个数
那么我们可以从序列头开始考虑,如果i<j , num[i] >num[j],那么如果将num[j]作为另一个子序列的头,那么这两个子序列能够合并成一格子序列,所以应该将num[j]追加到num[i]的子序列后,那么如果当前有多个子序列,我们肯定选择大于num[j]的最小的num[i],这样能保证付出最小的代价获得最优解,如果存在num[k]>num[j]&&num[k]]<num[i],那么num[k]作为另一个子序列的头的情况一定要要优于num[j]作为子序列的头的情况.用minn数组记录当前各个子序列的最小值,因为只有出现当前项大于所有序列的最小值的时候才会添加序列,所以minn数组能保证单调性
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define MAX 100007using namespace std;int minn[MAX];int main ( ){ int h,n; while ( ~scanf ( "%d" , &n ) ) { int cnt = 1; minn[0] = 0; for ( int i = 0 ; i < n ; i++ ) { scanf ( "%d" , &h ); int j; for ( j = 0 ; j < cnt ; j++ ) if ( h < minn[j] ) { minn[j] = h; break; } if ( cnt == j ) minn[cnt++] = h; } printf ( "%d\n" , cnt - 1 ); }}
0 0
- hdu 1257 dp+贪心
- HDU 1257 DP + 贪心
- hdu 1257(贪心)
- hdu 1257 贪心
- hdu 1257--dp/贪心
- HDU 1257SDOI(贪心)
- 【贪心】HDU 1257
- HDU 1257 贪心
- [DP/贪心] HDU 1257
- HDU 贪心
- 【贪心】hdu
- hdu 1257 最少拦截系统(DP + 贪心)
- HDU 1257 最少拦截系统 贪心
- HDU 1257 最少拦截系统(贪心)
- hdu 1257 最少拦截系统(贪心,dp)
- hdu 1257 最少拦截系统 贪心
- hdu 1257 最少拦截系统 (贪心)
- HDU 1257 最少拦截系统 (贪心)
- G - Coins-------多重背包
- linux期末复习知识点小结(三)—— Shell
- UIImageView使用问题
- Harris角点学习
- PHP解析URL编码的"问题
- hdu 1257 贪心
- POJ 2406 Power Strings KMP 或 后缀数组
- json httpclient
- android 使用Intent.ACTION_SEND分享图片和文字内容(新浪微博,短信等)
- 内存分配
- node.js中文资料导航
- linux c程序中获取shell脚本输出
- 浅谈JavaScript中数组操作常用方法
- MATLAB中feval函数的用法