NYOJ 1023 还是回文(DP,花最少费用形成回文串)

/*
   题意:给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费。
   那么,将字符串变成回文串的最小花费是多少呢? 

   思路:如果一个字符串增加一个字符 x可以形成一个回文串,那么从这个字符串中删除这个字符 x
         同样也能形成回文串!
         所以我们只记录删除,和增加这个字符 x 的最小的费用就好了!->转变成添加多少个字符形成回文串费用最少! 

         str[i]!=str[k]
         dp[i][j]=min(dp[i][j-1]+cost[str[k]-'a'], dp[i+1][j-1]+cost[str[i]-'a']) ;

         str[i]==str[k]
         dp[i][j]=dp[i+1][j-2];

*/
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define N 2005
using namespace std;

int dp[N][N];

int cost[30]; 

char str[N]; 

int main(){
    int m, n;
    while(scanf("%d%d", &m, &n)!=EOF){
        scanf("%s", str+1);
        memset(cost, 0, sizeof(cost));
        while(m--){
           char ch;
           int a, b;
           getchar();
           scanf("%c %d %d", &ch, &a, &b);
           cost[ch-'a']=min(a, b);
        }
        for(int i=1; i<=n; ++i)
           dp[i][1]=0;
        for(int j=2; j<=n; ++j)
           for(int i=1; i+j-1<=n; ++i){
               int k=i+j-1;
               if(str[i]!=str[k])
                  dp[i][j]=min(dp[i][j-1]+cost[str[k]-'a'], dp[i+1][j-1]+cost[str[i]-'a']) ;
               else dp[i][j]=dp[i+1][j-2];
           }   

        printf("%d\n", dp[1][n]);
    }
    return 0;
}
时间: 2024-09-19 08:53:25

NYOJ 1023 还是回文(DP,花最少费用形成回文串)的相关文章

草根站长创业初期如何花最少钱去运营好网站

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 草根创业初期,最大的壁垒就是资金问题,如何花最少钱去运营好网站已成为每个站长必须要考虑的重点问题.那么如何做到这一点呢?下面介绍六点,让7474.html">草根站长轻松节省开支去运营好网站. 1.网站推广尽量少花钱 对个人网站来说,花钱投放网站广告.平面广告来推广网站,其性价比超低,其实有很多既省钱又有效的推广办法,如邮件推

新手淘宝客如何建站 花最少的钱赚最多的钱?

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 看到各种淘宝客网站,做为新手,是不是都为之心动?心想,我有一个这样的网站该多好呀....其实,现在建站也很容易...你或许又会问,我不懂程序,也可以吗?其实,只要会打字,一样可以做自己的网站,本人从事淘宝客一年有余,也不会程序,只会PS,我的淘宝客网站http://www.taobaoke114.com.cn,都是用TXT记事本做的. 做淘宝

谈百度竞价推广技巧:如何花最少的钱得到最大的回报

做网站的人都知道百度有一个关键词竞价排名,属于付费类的推广方式.很多企业站,电商站点,都会选择去做百度关键词竞价,因为能在最短的时间获得最大的回报.总结2年的百度竞价经验,发现大部分公司没专人去管理竞价账户,往往都是第一次设定一个价格后,就没动过,或者就直接交给百度官方的竞价专员去管理账户.首先这样做危险性很高,而且会花费很多钱,却没有很高的回报.今天在这里和大家谈谈百度竞价的技巧.希望能让大家花最少的钱得到最大的回报. 第一,个人账户设定.每个账户都有一个日预算,自己打算一天花多少钱你就设定多

php找出指定范围内回文数且平方根也是回文数的方法

这篇文章主要介绍了php找出指定范围内回文数且平方根也是回文数的方法,实例分析了php判断回文的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php找出指定范围内回文数且平方根也是回文数的方法.分享给大家供大家参考.具体如下: 一.要求: 给出两个数值X和Y,统计在这个区间里的回文数,并且要求它们的平方根也是回文数.其中 1<= x <= y < 10 14 二.解决方法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

“钱要花在刀口上”软文什么时候该写?

"钱要花在刀口上"意思就是不要浪费,把每一分钱都要用到需要的地方去!也是很多成功的生意人都 具备的素质.我们http://www.aliyun.com/zixun/aggregation/7474.html">草根站长因该用生意人的头脑去经营网站,把每一分精力都运用到自己的网站上去,踏踏实实去做内容把自己的根基做好而不是每天忙着去写软文去换取那些微不足道的流量!   我对软文的 认识很肤浅,因为我也不写软文,我简单的理解是软文应该是在自身平稳发展的情况下起到一个催化作用

站长如何花最少的钱选最好的域名

中介交易 SEO诊断 淘宝客 云主机 技术大厅 对于新站长或者互联网相关创业者来说,或许并不能很清楚认识到域名的重要性.但相对有经验的站长都知道域名是做好网站的第一步. 今天,我来详细谈谈作为个人站长,应该如何选好域名.如何花最少的钱用最好的域名. 既然我们是站长,那我们和大佬是有区别的,大型的互联网公司可以一掷千金购买最牛叉的域名.我们作为站长,并不一定能够保证网站会一直做下去,或许有一天网站被K,或者因为种种原因关闭,但这个时候我们最初选择的域名或许还会升值,为我们带来意想不到的收获. 首先

如何花最少的钱排在百度结果第一位?

数据显示:2009年第一季度,百度市场份额高达74.1%,在多达十余家搜索引擎的中国市场,几乎占据了整个网络搜索行业.也说明,百度已经成为中国3亿多网民互联网生活的必经之地. 所以以网络营销新模式出现的搜索引擎营销,如何利用好百度的垄断地位,花最少的钱赢得最大的推广转化率,将是一门深不可测的学问.笔者在此应"亿玛客网络营销学院"之邀,就搜索引擎营销中百度的特案做个简单的经验陈述,希望对依靠百度推广业务生存的30万中国中小企业有所帮助.同时也希望对从事网络营销和即将从事网络营销工作的朋友

网络软文推广必杀技之如何让软文到处飞

中介交易 SEO诊断 淘宝客 云主机 技术大厅 自从脑白金利用报纸软文获得巨大成功,软文的巨大威力便众所周知了.在网络时代来临后,软文更是如虎添翼,网络推广软文到处飞,你在论坛.博客.贴吧.甚至新闻门户看到的,不是广告那就是软文了.而广告由于太硬性,其影响和效果已经大打折扣,并且硬广告投资大,ROI投资汇报率越来越低.网络推广软文变成为了众多企业,有时是中小企业的首选. 其次,搜索引擎优化(SEO)在发展几年后,也越来越规范,垃圾群发做外链的方式早已被抛弃.被放弃了.而软文的外链方式却越来越受到

ajax-jsp中我用go(-1)回滚到上一页面,并且回滚后的当前页面刷新一次,要详细的!

问题描述 jsp中我用go(-1)回滚到上一页面,并且回滚后的当前页面刷新一次,要详细的! jsp中我用go(-1)回滚到上一页面,并且回滚后的当前页面刷新一次,要详细的,谢谢! 解决方案 history.go或者back后退页面是不会更新的,用response.redirect跳转到你的页面再加个时间戳参数防止缓存