hdu 5375 dp
来源:互联网 发布:汽车行业数字营销知乎 编辑:程序博客网 时间:2024/05/18 21:43
#include <cstdio>#include <iostream>#include <algorithm>#include <queue>#include <cmath>#include <cstring>#include <stack>#include <set>#include <map>#include <vector>using namespace std;#define INF 0x2fffffff#define LL long long#define MAX(a,b) ((a)>(b))?(a):(b)#define MIN(a,b) ((a)<(b))?(a):(b)char a[200005];int b[200005];LL dp[200005][2];int main(){ int t; cin >> t; int T = 1; while(t--){ scanf("%s",a);memset(dp,0,sizeof(dp)); int len = strlen(a); for(int i = 0 ;i < len;i++){ scanf("%d",&b[i]); } if(a[0]=='?') { dp[0][1] = b[0]; dp[0][0] = 0; } if(a[0]=='1') dp[0][1]=b[0]; for(int i = 1;i < len;i++){ if(a[i] == '?'){ if(a[i-1] != '?'){ dp[i][0] = dp[i-1][a[i-1]-'0']+(0^(a[i-1]-'0'))*b[i]; dp[i][1] = dp[i-1][a[i-1]-'0']+(1^(a[i-1]-'0'))*b[i]; } else{ dp[i][0] = max(dp[i-1][0]+(0^0)*b[i],dp[i-1][1]+(0^1)*b[i]); dp[i][1] = max(dp[i-1][0]+(0^1)*b[i],dp[i-1][1]+(1^1)*b[i]); } } else{ if(a[i-1] == '?'){ dp[i][a[i]-'0'] = max(dp[i-1][0]+(0^(a[i]-'0'))*b[i],dp[i-1][1] + (1^(a[i]-'0'))*b[i]); } else{ dp[i][a[i]-'0'] = dp[i-1][a[i-1]-'0'] + ((a[i]-'0')^(a[i-1]-'0'))*b[i]; } } } if(a[len-1] != '?'){ printf("Case #%d: %lld\n",T++,dp[len-1][a[len-1]-'0']); } else{ printf("Case #%d: %lld\n",T++,max(dp[len-1][0],dp[len-1][1])); } } return 0;}
0 0
- HDU 5375 DP
- hdu 5375 dp
- HDU 5375 DP
- hdu 5375 Gray code dp
- hdu 5375 Gray code (dp)
- hdu 5375 Gray code dp
- hdu 5375 Gray code (DP)
- hdu 5375 Gray code (DP)
- HDU DP
- DP? HDU
- DP? HDU
- DP? HDU
- 【dp】HDU
- 【dp】HDU
- 【dp】 HDU
- DP? HDU
- hdu 5375 Gray code (简单DP)
- HDU 5375 Gray code(DP)
- jQery(5)jquery中的ajax详解
- ubuntu 15.04 的安装遇到的问题及其解决方法
- 升级Xcode之后VVDocumenter-Xcode不能用的相关问题与解决方案
- IP协议解读(三)
- jQery(6)jquery中事件详解
- hdu 5375 dp
- IP协议的那些事(总结)
- 9.9递归和动态规划(六)——打印n对括号的全部有效组合(即左右括号正确配对)
- 一文让你彻底了解iOS字体相关知识
- CentOS上安装比较习惯的代码编辑器
- java基础学习总结——流
- jQuery(7)jquery动画大体验
- Genymotion安卓模拟器
- Coder 遐想 のいち