foj 1880 DP
来源:互联网 发布:大学生网络责任感 编辑:程序博客网 时间:2024/04/20 10:45
dp[i][j]表示第i个时,(比)多j个
你可能会想 是不是会出现像 “)))(((”这样的状况
这是不可能的因为这样的话j是负值,而在dp的过程中是不可能出现负值的
AC代码如下:
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;#define MAX 0x3f3f3f3fint dp[1100][1100];char s[1100];int num[1100], len;int main(){ while( scanf( "%s", &s[1] ) != EOF ){ if( s[1] != '(' && s[1] != ')' ){ continue; } len = strlen( s + 1 ); for( int i = 1; i <= len; i++ ){ scanf( "%d", &num[i] ); } if( len % 2 == 1 ){ cout << -1 << endl; continue; } memset( dp, 0x3f, sizeof( dp ) ); dp[0][0] = 0; for( int i = 1; i <= len; i++ ){ for( int j = 0; j <= i; j++ ){ if( s[i] == '(' ){ if( j > 0 ) dp[i][j] = min( dp[i-1][j-1], dp[i][j] ); dp[i][j] = min( dp[i-1][j+1] + num[i], dp[i][j] ); }else{ if( j > 0 ) dp[i][j] = min( dp[i-1][j-1] + num[i], dp[i][j] ); dp[i][j] = min( dp[i-1][j+1], dp[i][j] ); } } } cout << dp[len][0] << endl; } return 0;}
0 0
- foj 1880 DP
- foj 1877 DP
- FOJ 2204 dp
- Foj 1147 Tiling[ dp+高精度 ]
- FOJ 1402(dp推规律)
- FOJ 2200 cleaning(环形dp)
- FOJ 2200 环形dp(推荐)
- foj 1977 Pandora adventure(插头DP)
- FOJ 2170 花生的序列 dp
- FOJ 2170 花生的序列 DP
- dp FOJ 一月月赛C ytaaa
- foj 2109 Mountain Number 位数dp
- FOJ 2172 (DP+水数据+水题解 )
- FZU FOJ 2030 括号问题【dp】||【暴搜+栈判断括号匹配】
- FOJ 2214 Knapsack problem 第六届福建省大学生程序设计竞赛 C 01背包DP变种
- Foj 2236 第十四个目标 (树状数组+简单dp+离散化)
- 福州大学 FOJ有奖月赛-2017年4月(校赛热身赛)(DP)
- FOJ有奖月赛-2017年4月(校赛热身赛) random password(DP)
- Android开发获取开机启动项列表
- python数据结构与算法 26 动态规划
- 黑马程序员—Java API(System类、Runtime类、Math类、Date类)
- Oracle group by 分组,并统计
- 安全知识:“云计算”的基本原理和概念
- foj 1880 DP
- 最快的颜色缩减函数
- iOS: Layer Style Property Animations
- String,StringBuffer与StringBuilder的区别??
- Maven3路程(二)Eclipse集成Maven
- IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)
- ONE源代码分析——movement1
- STL 之算法
- Android APK反编译详解(附图)