hdu 4105 Electric wave (dp)
来源:互联网 发布:curl php extension 编辑:程序博客网 时间:2024/05/18 01:40
题目链锁:http://acm.hdu.edu.cn/showproblem.php?pid=4105
题意: 给出 一串数字,最多能插入多少个空格使它变成电波的形式
dp[i][j][0]表示把i到j作为波谷时最多能插入多少个空格,dp[i][j][1]表示i到j作为波峰时最多能插入多少个空格
#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<stdio.h>#include<algorithm>#include<cmath>#include<set>#include<map>#include<queue>#include<vector>using namespace std;#define inf 0x3f3f3f3f#define eps 1e-9#define mod 1000000007#define FOR(i,s,t) for(int i = s; i < t; ++i )#define REP(i,s,t) for( int i = s; i <= t; ++i )#define LL long long#define ULL unsigned long long#define pii pair<int,int>#define MP make_pair#define lson id << 1 , l , m#define rson id << 1 | 1 , m + 1 , r #define maxn ( 400 + 10 )#define maxe ( 50000+10 )int dp[111][111][2], a[111];int cmp ( int i, int j, int l, int r ) { while( a[i] == 0 && i < j ) ++i ; while( a[l] == 0 && l < r ) ++l; if( j - i < r - l ) return 0; if( j - i > r - l ) return 1; while( i <= j ) { if( a[i] > a[l] ) return 1; if( a[i] < a[l] ) return 0; ++i, ++l; } return -1;}char s[111];int main () { int n; while( scanf("%d", &n ) != EOF ) { scanf("%s", s ); for( int i = 0 ; i < n; i++ ) a[i] = s[i]-'0'; memset( dp, 0, sizeof( dp ) ); //for( int i = 0; i < n; i++ ) //dp[i][n-1][0] = dp[i][n-1][1] = 1; for( int i = n-2; i >= 0; i-- ) { for( int j = i; j < n-1; j++ ) { int l = j + 1; for( int r = l; r < n; r++ ) { int temp = cmp( i, j, l, r ); if( temp == 1 ) dp[i][j][1] = max( dp[i][j][1], dp[l][r][0] + 1 ); if( temp == 0 ) dp[i][j][0] = max( dp[i][j][0], dp[l][r][1] + 1 ); } } } int ans = 0; for( int i = 0 ; i < n; i++ ) ans = max( ans, dp[0][i][0] ); printf( "%d\n", ans ); } return 0;}
0 0
- hdu 4105 Electric wave (dp)
- 简单dp hdu-4105-Electric wave
- hdu 4105 Electric wave(dp)
- HDU4105 Electric wave @Z
- hdu4105 Electric wave
- HDU4105 Electric wave 动态规划
- hdu4105 Electric wave
- HDU 3976 Electric resistance
- hdu 3976 Electric resistance
- ural1143 Electric Path (区间dp)
- hdu 3976 Electric resistance 高斯消元
- HDU 3976 Electric resistance(高斯消元)
- HDU 3976 Electric resistance (高斯消元)
- hdu 3976 Electric resistance (高斯消元)
- hdu6078 wave sequence dp
- UVALive 6908Electric Bike(dp)
- UVALive 6908 Electric Bike dp,BFS
- HDU 1030 Delta-wave
- 在禁用UAC时,无法激活此应用
- spark:--一些简单的scala语句--2
- 值传递与地址传递的区别
- 数据结构实验之栈四:括号匹配
- 商业银行业务培训总结
- hdu 4105 Electric wave (dp)
- JAVA菜鸟入门篇 - 时间处理相关类实例:打印该月日期表 (29)
- 斯坦福大学机器学习公开课---2. Linear regression
- [MFC]学习笔记:Dialog 屏蔽Enter & ESC退出的功能
- 关于在类库下调用WebService和.edmx文件的问题
- Sicily 2002 Feeding Time
- 数据结构实验之栈三:后缀式求值
- 十几年过去了,再回顾过去的代码岁月很有感触.给大家展示一下我当初开始学VC++时,创作的启蒙作品,呵呵
- android 设置渐变背景色