1710: [Usaco2007 Open]Cheappal 廉价回文
来源:互联网 发布:sql 删除表中行 编辑:程序博客网 时间:2024/06/04 18:03
题目链接
题目大意:给出删掉和添加每种字符的花费,求把字符串变成回文串的最小花费
题解:加入一个字母等价于在对称位置删除一个字母,所以费用取较小的就可以
然后根据知识知道回文串一般在串两边进行操作,据此大力转移
我的收获:……
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int M=2005;int n,m,f[M][M],cost[255];char str[M];int dfs(int l,int r){ if(r<1||l>m) return 0; if(l==r) return 0; if(f[l][r]!=-1) return f[l][r]; int res=1000000; res=min(dfs(l+1,r)+cost[str[l]],dfs(l,r-1)+cost[str[r]]); if(str[l]==str[r]) res=min(res,dfs(l+1,r-1)); return f[l][r]=res;}void work(){ memset(f,-1,sizeof(f)); printf("%d\n",dfs(1,m));}void init(){ char tmp[50];int w1,w2; scanf("%d%d%s",&n,&m,str+1); for(int i=1;i<=n;i++) { scanf("%s%d%d",tmp,&w1,&w2); cost[tmp[0]]=min(w1,w2); }}int main(){ init(); work(); return 0;}
阅读全文
0 0
- 1710: [Usaco2007 Open]Cheappal 廉价回文
- BZOJ 1710: [Usaco2007 Open]Cheappal 廉价回文 区间dp
- bzoj 1710: [Usaco2007 Open]Cheappal 廉价回文 动态规划
- bzoj1710【Usaco2007 Open】Cheappal 廉价回文
- bzoj1710[Usaco2007 Open]Cheappal 廉价回文 dp
- 【BZOJ1710】[Usaco2007 Open]Cheappal 廉价回文【区间DP】
- 动态规划 BZOJ1710 [Usaco2007 Open]Cheappal 廉价回文
- USACO2007 Open Cheappal
- [Usaco2007 Open]Cheappal-DP合并类
- bzoj1711[Usaco2007 Open]Dingin吃饭
- bzoj1711【Usaco2007 Open】Dingin 吃饭
- 【bzoj1711】[Usaco2007 Open]Dining吃饭
- 1711: [Usaco2007 Open]Dining吃饭
- bzoj1711 [Usaco2007 Open]Dining吃饭
- BZOJ1711: [Usaco2007 Open]Dining吃饭
- bzoj1645 [Usaco2007 Open]City Horizon 城市地平线
- bzoj 1711: [Usaco2007 Open]Dingin吃饭
- [Usaco2007 Open]City Horizon 城市地平线
- Shell 文件包含
- 树的前序遍历
- Android背景选择器selector用法汇总
- 深入浅出之 TCP协议(三次握手与四次挥手、超时重发、流量控制、拥塞控制、与UDP区别)
- Linux常用命令代码大全
- 1710: [Usaco2007 Open]Cheappal 廉价回文
- Qt拖拽界面 (*.ui) 缩放问题及解决办法(在最顶层放一个Layout)
- hibernate总结
- ios11正式版 解决骚扰难题
- Android 渐变背景xml
- 泛型编程之函数模板
- C# Web 端添加登录验证码
- MOS管串接在电路中防止电源反接
- 短实习---Java面向对象(练习题)