GDUT 校赛02 dp回文串
aaarticlea/png;base64,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" alt="" />
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
using namespace std;
const int maxn=;
int n,m,t;
short dp[maxn][maxn];
char s[maxn];
int main()
{
int i,j,k;
#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
#endif
scanf("%d",&t);
while(t--)
{
int len=;
scanf("%d",&len);
scanf("%s",s);
for(i=;i<len;i++) dp[i][i]=;
for(k=;k<len;k++)
{
for(i=;i+k<=len;i++)
{
int j=k+i;
if(s[i]!=s[j]) dp[i][j]=dp[i+][j-];
else dp[i][j]=min(dp[i+][j],dp[i][j-])+;
}
}
printf("%d\n",dp[][len-]);
}
return ;
}
GDUT 校赛02 dp回文串的更多相关文章
- poj 1159 dp回文串
题意:添加最少的字符使之成为回文串 #include<cstdio> #include<iostream> #include<algorithm> #include ...
- poj 3280 Cheapest Palindrome ---(DP 回文串)
题目链接:http://poj.org/problem?id=3280 思路: dp[i][j] :=第i个字符到第j个字符之间形成回文串的最小费用. dp[i][j]=min(dp[i+1][j]+ ...
- HDU4745--区间DP+回文串
这题的题意为,给你一个环状的字符串,有两只兔子分别从某任意的石头上开始跳跃.一只顺时针跳.一只逆时针跳.两只兔子每一次落脚处石头的质量都相同.兔子要一步一步的跳,且不能跳到之前跳到过的地方.总的来说, ...
- LightOJ - 1205:Palindromic Numbers (数位DP&回文串)
A palindromic number or numeral palindrome is a 'symmetrical' number like 16461 that remains the sam ...
- CodeForces-245H:Queries for Number of Palindromes(3-14:区间DP||回文串)
Times:5000ms: Memory limit:262144 kB 给定字符串S(|S|<=5000),下标由1开始.然后Q个问题(Q<=1e6),对于每个问题,给定L,R,回答区间 ...
- GDUT 校赛01 dp
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABT8AAAILCAIAAAChHn9YAAAgAElEQVR4nOy9f4il13nneUGgxrRYux ...
- 1159--Palindrome(dp:回文串变形2)
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 53431 Accepted: 18454 Desc ...
- 516. Longest Palindromic Subsequence最长的不连续回文串的长度
[抄题]: Given a string s, find the longest palindromic subsequence's length in s. You may assume that ...
- 【UVA1633】禁止的回文串(状压DP)
题意: 输入正整数n和k(1<=n<=400,1<=k<=10),求长度为n的01串中有多少个不含长度至少为k的回文连续子串.例如,n=k=3时只有4个串满足条件:001,01 ...
随机推荐
- linux 运行级别与chkconfig
一.Linux的运行级别 在装MySQL的时候,才知道了Linux的运行级别这么一回事.汗…自己太水了…下面总结一下: 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是 ...
- html5视频播放器
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...
- Iterator<转>
Iterator就是迭代器的意思. Iterator是一个接口,利用迭代器主要是获取元素,很少删除元素.有三个方法: 1)hasNext():判断是否有更多的元素,如果有返回true. 2 ...
- seajs模块加载与执行原理小记
本文仅讨论具名模块的情况,即通过spm打包出来的模块. 想起ID与路径统一原则,详见https://github.com/seajs/seajs/issues/930 今天又研究了下seajs源码,源 ...
- WiFi入口流量O2O微应用平台
WiFi入口流量O2O微应用平台 随着智能手机一年比一年销量大好,传统的互联网的流量争夺战场已经转向了移动互联网,各大巨头纷纷出招,智能wifi路由器就是其中最重要的一块战略高地.所谓的智能路由器,解 ...
- zoj.3865.Superbot(bfs + 多维dp)
Superbot Time Limit: 2 Seconds Memory Limit: 65536 KB Superbot is an interesting game which you ...
- More is better(MST)(求无向图中最大集合元素个数)
More is better Time Limit:1000MS Memory Limit:102400KB 64bit IO Format:%I64d & %I64u Sub ...
- glut64位操作系统安装
64位win7下OpenGL的配置 - walkandthink的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/walkandthink/article/detai ...
- setVolumeControlStream(int streamType)
Android中有如下几种音频流: AudioManager.STREAM_MUSIC /** The audio stream for music playback */ AudioManager ...
- angular js 自定义指令
我们有些时候需要把后台返回过来的带有html标签的字符串binding到界面中一个指定的div或者其他的控制器中. 使用普通ng-bind不会自动解析出html语句. js中这样定义: app.dir ...