传送门

一道最简单的区间dp,然而我还是抄了题解。

//Twenty
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<vector>
#include<cmath>
#include<queue>
#include<ctime>
const int maxn=2005;
typedef long long LL;
using namespace std;
int n,m,cost[30],a,b;
char s[maxn]; namespace fastIO {
const int sz=1<<15|1;
char ch,buf[sz],*l,*r;
void gechar(char &c) {
if(l==r) r=(l=buf)+fread(buf,1,sz,stdin);
c = l==r?(char)EOF:*l++;
}
template<typename T> void read(T &x) {
int f=1; x=0; gechar(ch);
while(ch!='-'&&(ch<'0'||ch>'9')) gechar(ch);
if(ch=='-') f=-1,gechar(ch);
for(;ch>='0'&&ch<='9';gechar(ch)) x=x*10+ch-'0'; x*=f;
}
} int dp[maxn][maxn];
void work() {
memset(dp,127,sizeof(dp));
for(int i=1;i<=m;i++) {
dp[i][i]=0;
if(s[i]==s[i+1]) dp[i][i+1]=0;
}
for(int l=2;l<=m;l++) {
for(int i=1;i+l-1<=m;i++) {
int j=i+l-1;
if(l>2&&s[i]==s[j]) dp[i][j]=min(dp[i][j],dp[i+1][j-1]);
dp[i][j]=min(dp[i][j],dp[i][j-1]+cost[s[j]-'a']);
dp[i][j]=min(dp[i][j],dp[i+1][j]+cost[s[i]-'a']);
}
}
printf("%d\n",dp[1][m]);
} void init() {
fastIO::read(n);
fastIO::read(m);
char ch;
fastIO::gechar(ch);
while(ch<'a'||ch>'z')
fastIO::gechar(ch);
for(int i=1;i<=m;i++) {
s[i]=ch; fastIO::gechar(ch);
}
for(int i=1;i<=n;i++) {
fastIO::gechar(ch);
while(ch<'a'||ch>'z') fastIO::gechar(ch);
fastIO::read(a);
fastIO::read(b);
cost[ch-'a']=min(a,b);
}
} //#define DEBUG
int main() {
#ifdef DEBUG
freopen("1.in","r",stdin);
//freopen(".out","w",stdout);
#endif
init();
work();
return 0;
}

  

最新文章

  1. 原创 C++作用域 (二)
  2. 【iOS】UITabView/UICollectionView 全选问题
  3. Head First Html and CSS学习笔记之CSS
  4. C# 面试的“区别”
  5. mybatis动态sql中的trim标签的使用
  6. spring配置定时器的时间设置
  7. php学习日志(2)-php变量
  8. HDU 5500 Reorder the Books 贪心
  9. Event Delivery: The Responder Chain(事件传递,响应链)
  10. HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理
  11. 自定义MVC框架(一)-(没有基于xml的)
  12. lPC1788的GPIO驱动
  13. Android中微信抢红包助手的实现
  14. Plupload上传插件自定义图片的修改
  15. php使用PHPMailer邮件类发送邮件
  16. 联想G510 在新的SSD上安装Win8.1系统,启动的时候自己加载机械硬盘的Win8.1系统
  17. Chessboard POJ - 2446(最大流 || 匹配)
  18. np.nonzero()函数用法
  19. MFC/VC CxImage 编译问题 (VS2013)
  20. JSON序列化反序列化

热门文章

  1. Lydsy2017省队十连测
  2. 容器安全与EDR的异同
  3. SpringCloud学习笔记(五):Ribbon负载均衡
  4. Servlet和模本办法
  5. css 背景图居中
  6. JS 日期比较
  7. vue:使用不同参数跳转同一组件,实现动态加载图片和数据,以及利用localStorage和vuex持久化数据
  8. Luogu P3835 【模板】可持久化平衡树(fhq Treap)
  9. mapreduce.Job: Running job: job_1553100392548_0001
  10. 全栈之路-杂篇-前端Http请求封装优化