hdu 1257 最少拦截系统 dp
2015-07-20 21:55
435 查看
设dp【i】为第i套拦截系统的当前最小值,每次输出的时候看是否能更新所有的dp【i】,不行则说明需要加一套拦截系统
#include <map> #include <set> #include <queue> #include <stack> #include <vector> #include <string> #include <math.h> #include <time.h> #include <stdio.h> #include <iomanip> ///cout << fixed << setprecision(13) << (double) x << endl; #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; #define lson l, mid, rt << 1 #define rson mid + 1, r, rt << 1 | 1 #define ls rt << 1 #define rs rt << 1 | 1 #define pi acos(-1.0) #define eps 1e-8 #define asd puts("sdfsdfsdfsdfsdfsdf"); #define Mp(a, b) make_pair(a, b) typedef long long ll; //typedef __int64 LL; const int inf = 0x3f3f3f3f; int dp[1011]; int n; int main() { int n; while( ~scanf("%d", &n) ) { int cnt = 0; dp[1] = 0; for( int i = 1, x, f; i <= n; ++i ) { f = 1; scanf("%d", &x); for( int j = 1; j <= cnt; ++j ) { if( dp[j] >= x ) { dp[j] = x, f = 0; break; } } if( f ) dp[++cnt] = x; } printf("%d\n", cnt); } return 0; }
相关文章推荐
- Ruby Programming
- csu 1101
- [leedcode 104] Maximum Depth of Binary Tree
- 算法学习之java实现快速排序
- NOI2001方程的解数 (DFS技巧:meet in the middle)(非哈希)
- 十大大数据分析
- UIScrollView实现不全屏分页的小技巧
- logback MDC(Mapped Diagnostic Context)与分布式系统的跟踪系统
- Android requestLayout 和 invalidate
- Eclipse 安装最新SVN插件
- DOM基础及DOM操作HTML
- 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分
- VB.NET创建/修复/压缩/备份/恢复ACCESS数据库
- windows批处理介绍
- leveldb学习:sstable(1)
- 暑假-动态规划 I-(I- 搬寝室)
- Spring 下载
- OSI七层网络参考模型
- 视图的创建和使用
- iOS 应用内购的坑