日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > UVA 10739 String to Palindrome(DP)

UVA 10739 String to Palindrome(DP)

來源:程序員人生   發布時間:2014-12-18 08:38:47 閱讀次數:2809次

In this problem you are asked to convert a string into a palindrome with minimum number of operations. The operations are described below:

 

Here you’d have the ultimate freedom. You are allowed to:

  • Add any character at any position
  • Remove any character from any position
  • Replace any character at any position with another character

Every operation you do on the string would count for a unit cost. You’d have to keep that as low as possible.

 

For example, to convert “abccda” you would need at least two operations if we allowed you only to add characters. But when you have the option to replace any character you can do it with only one operation. We hope you’d be able to use this feature to your advantage.

 

Input

The input file contains several test cases. The first line of the input gives you the number of test cases, T (1≤T≤10). Then T test cases will follow, each in one line. The input for each test case consists of a string containing lower case letters only. You can safely assume that the length of this string will not exceed 1000 characters.

 

Output

For each set of input print the test case number first. Then print the minimum number of characters needed to turn the given string into a palindrome.

 

Sample Input                               Output for Sample Input

6
tanbirahmed
shahriarmanzoor
monirulhasan
syedmonowarhossain
sadrulhabibchowdhury
mohammadsajjadhossain

Case 1: 5

Case 2: 7

Case 3: 6

Case 4: 8

Case 5: 8

Case 6: 8

題意:有3種操作,每種操作花費1單位花費。問最少的花費

區間DP:求最小花費。

#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> typedef long long LL; using namespace std; #define REPF( i , a , b ) for ( int i = a ; i <= b ; ++ i ) #define REP( i , n ) for ( int i = 0 ; i < n ; ++ i ) #define CLEAR( a , x ) memset ( a , x , sizeof a ) const int INF=0x3f3f3f3f; const int maxn=1100; int dp[maxn][maxn]; char str[maxn]; int t; int main() { int cas=1; scanf("%d",&t); getchar(); while(t--) { gets(str+1); int len=strlen(str+1); CLEAR(dp,INF); for(int i=1;i<=len;i++) { if(str[i]==str[i+1]) dp[i][i+1]=0; dp[i][i]=0; } for(int l=1;l<=len;l++) { for(int i=1;i+l<=len;i++) { int j=i+l; if(str[i]==str[j]) dp[i][j]=min(dp[i][j],dp[i+1][j⑴]); else { dp[i][j]=min(dp[i+1][j],dp[i][j⑴])+1; dp[i][j]=min(dp[i][j],dp[i+1][j⑴]+1); } } } printf("Case %d: ",cas++); printf("%d ",dp[1][len]); } return 0; }




生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品国产乱码久久久久久闺蜜 | 成人伊人网 | 久久视频一区 | 国产福利电影在线观看 | 性国产| 精品在线免费看 | 欧美精品一区在线观看 | 久久高清国产 | 日韩久久久久久 | 麻豆国产尤物av尤物在线观看 | 成人性生交大片免费看在线播放 | 成人国产精品久久久 | 精品久久久久久久久久 | 精品一二三 | 欧美偷拍综合 | 99精品久久久 | 性高湖久久久久久久久 | 日韩欧美在线观看视频 | 日韩视频一区二区 | 欧美一区二区三区在线看 | 欧美精品一区视频 | 免费一级淫片 | 亚洲天堂偷拍 | 国产一区不卡 | 久久精品一区二区 | 精品天堂 | 国产视频一区在线观看 | 欧美一区二区三区免费 | 天天操天天碰 | 国产精品久久久久一区二区三区 | 一级毛片观看 | www.av在线| 久久久久国产精品午夜一区 | 一级黄色片在线观看 | 国产suv精品一区二区三 | 久艹久久 | 在线看片日韩 | 久久69国产一区二区蜜臀 | 日韩 国产 欧美 精品 在线 | 久久91精品国产一区二区三区 | 九九热在线免费观看 |