题意:给出一个字符串,去掉第i位的花费为a[i],求使字符串中子串不含hard的最小代价。

  题解:这题的思路还是比较套路的,

        dp[i][kd]两维,kd=0表示不含d的最小花费,1表示不含rd的,2表示不含ard的,3表示不含hard的

     那么转移方程就显而易见了,一言概之就是如果前面没有,我这也要没有,就这位一定要去,否则不用去

  代码如下:

  

#include<bits/stdc++.h>
using namespace std; int n,a[];
char s[];
long long dp[][]; int main()
{
scanf("%d",&n);
scanf("%s",s+);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=n;i>=;i--)
{
dp[i][]=dp[i+][];
dp[i][]=dp[i+][];
dp[i][]=dp[i+][];
dp[i][]=dp[i+][];
if(s[i]=='d')
{
dp[i][]=dp[i+][]+a[i];
dp[i][]=min(dp[i+][],dp[i+][]);
}
if(s[i]=='r')
{
dp[i][]=dp[i+][]+a[i];
dp[i][]=min(dp[i+][],dp[i+][]);
}
if(s[i]=='a')
{
dp[i][]=dp[i+][]+a[i];
dp[i][]=min(dp[i+][],dp[i+][]);
}
if(s[i]=='h')
{
dp[i][]=dp[i+][]+a[i];
}
}
long long ans=;
ans=min(min(dp[][],dp[][]),min(dp[][],dp[][]));
printf("%lld\n",ans);
} #include<bits/stdc++.h>
using namespace std; int n,a[];
char s[];
long long dp[][]; int main()
{
scanf("%d",&n);
scanf("%s",s+);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=n;i>=;i--)
{
dp[i][]=dp[i+][];
dp[i][]=dp[i+][];
dp[i][]=dp[i+][];
dp[i][]=dp[i+][];
if(s[i]=='d')
{
dp[i][]=dp[i+][]+a[i];
dp[i][]=min(dp[i+][],dp[i+][]);
}
if(s[i]=='r')
{
dp[i][]=dp[i+][]+a[i];
dp[i][]=min(dp[i+][],dp[i+][]);
}
if(s[i]=='a')
{
dp[i][]=dp[i+][]+a[i];
dp[i][]=min(dp[i+][],dp[i+][]);
}
if(s[i]=='h')
{
dp[i][]=dp[i+][]+a[i];
}
}
long long ans=;
ans=min(min(dp[][],dp[][]),min(dp[][],dp[][]));
printf("%lld\n",ans);
}

CF1096D Easy Problem(DP)的更多相关文章

  1. CF1096D Easy Problem

    题目地址:CF1096D Easy Problem 比赛时高二dalaoLRZ提醒我是状压,然而,我还是没AC (汗 其实是一道很基础的线性dp \(f_{i,j}\) 表示序列第 \(i\) 个字符 ...

  2. D. Easy Problem dp(有衔接关系的dp(类似于分类讨论) )

    D. Easy Problem dp(有衔接关系的dp(类似于分类讨论) ) 题意 给出一个串 给出删除每一个字符的代价问使得串里面没有hard的子序列需要付出的最小代价(子序列不连续也行) 思路 要 ...

  3. CF1096:D. Easy Problem(DP)

    Vasya is preparing a contest, and now he has written a statement for an easy problem. The statement ...

  4. CF1096D Easy Problem(DP)

    貌似最近刷了好多的CF题…… 题目链接:CF原网 洛谷 题目大意:有一个长度为 $n$ 的字符串 $s$,删除第 $i$ 个字符需要代价 $a_i$.问使得 $s$ 不含有子序列(不是子串)" ...

  5. Codeforces 1096D - Easy Problem - [DP]

    题目链接:http://codeforces.com/problemset/problem/1096/D 题意: 给出一个小写字母组成的字符串,如果该字符串的某个子序列为 $hard$,就代表这个字符 ...

  6. HDU 4359——Easy Tree DP?——————【dp+组合计数】

    Easy Tree DP? Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  7. 线段树:CDOJ1591-An easy problem A (RMQ算法和最简单的线段树模板)

    An easy problem A Time Limit: 1000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Pr ...

  8. HDU 4359 Easy Tree DP?

    Easy Tree DP? Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  9. UVA-11991 Easy Problem from Rujia Liu?

    Problem E Easy Problem from Rujia Liu? Though Rujia Liu usually sets hard problems for contests (for ...

随机推荐

  1. python的可变list和不可变tuple, dict和set

    list和tuple 在python中分为可变表和不可变表: 类型 名称 表示方法 可变 list [] 不可变 tuple () list list是可变表,list内部索引从0开始,正整数是正序的 ...

  2. LINUX 修复relocation error: /lib/tls/libc.so.6

    错误信息: relocation error: /lib/tls/libc.so.6: symbol _dl_tls_get_addr_soft, version GLIBC_PRIVATE not ...

  3. do you\have you\are you

    如果想问对方动作方面的 就用do you 例如 你知道吗? do you konw 如果想问对方是不是什么 就用are you 例如 你是一名教师吗 are you a teacher ? 如果想问对 ...

  4. 第六章 图(a)概述

  5. Python vars() 函数

    Python vars() 函数  Python 内置函数 描述 vars() 函数返回对象object的属性和属性值的字典对象. 语法 vars() 函数语法: vars([object]) 参数 ...

  6. 神龟快跑,2016做的一款UWP游戏

    神龟快跑,2016做的一款UWP游戏, 实际是H5页面, 用LAYA转AS3得到的 安装地址 https://www.microsoft.com/zh-cn/store/p/神龟快跑/9nblggh4 ...

  7. python之ftp作业【还未完成】

    作业要求 0.实现用户登陆 1.实现上传和下载 3.每个用户都有自己的家目录,且只可以访问自己的家目录 4.对用户进行磁盘配额,每个用户的空间不同,超过配额不允许下载和上传 5.允许用户在指定的家目录 ...

  8. mysql thread_cache 和 thread_pool 之间的关系

    线程池是Mysql5.6的一个核心功能,对 于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题.当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导 致资源利用 ...

  9. OpenGLES.gpus_ReturnNotPermittedKillClient

    在iOS中,使用OpenGLES不当引起的crash:“gpus_ReturnNotPermittedKillClient” https://developer.apple.com/library/i ...

  10. 老板说你的UI设计的不高级?你肯定没用这7个技巧...

    对于每个网页设计师而言,在设计过程中总会碰到需要作出设计决策的时候.也许你的公司并没有全职设计师,而需求上则要求设计出全新的UI:又或者你正在制作一个你自己的个人项目,而你希望它比 Bootstrap ...