HAUT1289 arufuonsusnoufura(区间dp,河南省多校连萌(七))
来源:互联网 发布:u3d 粒子特效优化 编辑:程序博客网 时间:2024/06/04 19:45
题目:
1289: arufuonsusnoufura
时间限制: 10 秒 内存限制: 128 MB提交: 15 解决: 11
提交 状态
题目描述
爱德华有一天遇到了一个难题,他准备给弟弟送一个项链,不过炼金术师都有这么一个小爱好:喜欢对称,他希望买到的项链也是对称的,不过集市上左右对称的项链早就卖光了。聪明的爱德华准备随便买来一个自己取下几颗珍珠变成对称的。由于取下之后再安回去很麻烦,所以请你计算一下最少取下几枚珠子可以将其变为一个回文串(注意项链是个圈)。
输入
输入包含多组,第一行是T<=100,代表数据组数。
之后T行,每行包括一个字符串s,s中包含小写字母,大写字母和数字,分别代表不同颜色的珠子。s的长度2≤|S|≤200;
输出
对于每组等式,输出一行,每行1个数字,代表最少取下的珠子个数。
样例输入
5arufuonsusnoufuraAbcbasasasasasasastatistic6zc666
样例输出
02141
提示
来源
信息工程大学
思路:
因为是一条项链,所以存储的时候存成2倍,然后状态转移方程是:
如果枚举的两个字符相等:
dp[i][j]=dp[i+1][j-1];
如果不相等:
dp[i][j]=min(dp[i+1][j]+1,dp[i][j-1]+1);
然后遍历长度,找出最小的即可
代码:
#include <cstdio>#include <cstring>#include <cctype>#include <string>#include <set>#include <iostream>#include <stack>#include <cmath>#include <queue>#include <vector>#include <algorithm>#define mem(a,b) memset(a,b,sizeof(a))#define inf 0x3f3f3f3f#define M 12357#define ll long longusing namespace std;char s[500];int dp[500][500];int main(){int t;scanf("%d",&t);while(t--){mem(dp,0);scanf("%s",s+1);int len=strlen(s+1);for(int i=1; i<=len; i++)s[i+len]=s[i];for(int v=1; v<2*len; v++)for(int i=1; i+v<2*len; i++){int j=i+v;if(s[i]==s[j])dp[i][j]=dp[i+1][j-1];elsedp[i][j]=min(dp[i+1][j]+1,dp[i][j-1]+1);}int minn=inf;for(int i=1;i<=len;i++)minn=min(minn,dp[i][i+len-1]);printf("%d\n",minn);}return 0;}
阅读全文
0 0
- HAUT1289 arufuonsusnoufura(区间dp,河南省多校连萌(七))
- 河南省多校连萌(七)H
- 第四届河南省ACM 节能 区间DP
- 河南省多校连萌(七)题解(1~4题)
- HAUT1295 抽奖活动(高精度运算,河南省多校连萌(七))
- HAUT1288 等价交换(大数+表达式求值,河南省多校连萌(七))
- HAUT 1289: arufuonsusnoufura【dp+回文串】
- 河南省多校连萌(三)
- 河南省多校连萌(三)
- 河南省多校连萌(四)
- 河南省多校连萌(四)
- 河南省多校连萌(四)
- 河南省多校连萌(四)
- 河南省多校连萌(四)
- 河南省多校连萌(四)
- hdu4597(区间dp)
- poj1651 (区间dp)
- hdu4283(区间DP)
- Pthread导致的memory leak
- java后台处理/Date()/格式时间戳
- 普通dijkstra(邻接矩阵)
- centos7安装docker
- 后端接口的幂等性
- HAUT1289 arufuonsusnoufura(区间dp,河南省多校连萌(七))
- ES6之Object.assign()详解
- 浏览器渲染页面原理
- SGISTL源码探究-list容器(上)
- 7. Reverse Integer
- GitChat · 人工智能 | 用语音和自然语言控制智能家居——实例分享
- 学生管理系统(文件流)
- butterknife----黄油刀
- Java 空字符串“”和null区别