250pts RepeatString

题意:问最少修改多少次将一个字符串修改为AA的形式。可以插入一个字符,删除一个字符,修改字符。

思路:枚举分界点,然后dp一下。

 /*
* @Author: mjt
* @Date: 2018-10-17 19:50:16
* @Last Modified by: mjt
* @Last Modified time: 2018-10-17 20:08:04
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long LL; const int N = ; int f[N][N]; class RepeatString{
public:
int solve(int p,string s) {
memset(f, 0x3f, sizeof(f));
string a, b;
a += '#', b += '#';
for (int i=; i<=p; ++i) a += s[i];
for (int j=p+; j<(int)s.size(); ++j) b += s[j];
for (int i=; i<(int)a.size(); ++i) f[i][] = i;
for (int i=; i<(int)b.size(); ++i) f[][i] = i; for (int i=; i<(int)a.size(); ++i)
for (int j=; j<(int)b.size(); ++j) {
f[i][j] = min(f[i][j], min(f[i - ][j], f[i][j - ]) + );
f[i][j] = min(f[i][j], f[i - ][j - ] + (a[i] != b[j]));
}
return f[a.size() - ][b.size() - ];
}
int minimalModify(string s) {
int ans = s.size();
for (int i=; i<(int)s.size(); ++i) ans = min(ans, solve(i, s));
return ans - ;
}
};

SRM 698 div1 RepeatString的更多相关文章

  1. Topcoder SRM 698 Div1 250 RepeatString(dp)

    题意 [题目链接]这怎么发链接啊..... Sol 枚举一个断点,然后类似于LIS一样dp一波 这个边界条件有点迷啊..fst了两遍... #include<bits/stdc++.h> ...

  2. topcoder srm 698 div1 -3

    1.定义重复串$S=T+T$,即$S$可以表示成一个串的叠加.给定一个串$s$,可以通过删除字符.修改字符.增加字符来使得其变为重复串.问最少的次数. 思路:首先将$s$分成个串$s_{0},s_{1 ...

  3. Topcoder SRM 643 Div1 250<peter_pan>

    Topcoder SRM 643 Div1 250 Problem 给一个整数N,再给一个vector<long long>v; N可以表示成若干个素数的乘积,N=p0*p1*p2*... ...

  4. Topcoder Srm 726 Div1 Hard

    Topcoder Srm 726 Div1 Hard 解题思路: 问题可以看做一个二分图,左边一个点向右边一段区间连边,匹配了左边一个点就能获得对应的权值,最大化所得到的权值的和. 然后可以证明一个结 ...

  5. 图论 SRM 674 Div1 VampireTree 250

    Problem Statement      You are a genealogist specializing in family trees of vampires. Vampire famil ...

  6. SRM 583 DIV1

    A 裸最短路. class TravelOnMars { public: int minTimes(vector <int>, int, int); }; vector<int> ...

  7. SRM 590 DIV1

    转载请注明出处,谢谢viewmode=contents">http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlov ...

  8. Topcoder SRM 602 div1题解

    打卡- Easy(250pts): 题目大意:rating2200及以上和2200以下的颜色是不一样的(我就是属于那个颜色比较菜的),有个人初始rating为X,然后每一场比赛他的rating如果增加 ...

  9. 状态压缩DP SRM 667 Div1 OrderOfOperations 250

    Problem Statement      Cat Noku has just finished writing his first computer program. Noku's compute ...

随机推荐

  1. php模式设计

    1,策略模式 2,个体模式 3,工厂模式 4,观察者模式 <?php class ExchangeRate { static private $instance = NULL; private ...

  2. js 键盘点击事件

    回车键(Enter)的触发事件  js 代码如下: document.onkeydown = function (e) { if (!e) e = window.event; if ((e.keyCo ...

  3. jmeter接口测试1-参数化

    jmeter一个简单的接口测试例子 1.创建一个http请求: 大概的步骤就是: (1)创建一个线程组 (2)添加HTTP信息头管理器:右键线程组,选择,添加user-Agent,key-value形 ...

  4. easyUi的一些常用方法

    目录: 1.获取表格的pageNumber和pageSize 2.获取/设置下拉列表的选中值 3.下拉列表的输入框的禁用 1.获取表格的pageNumber和pageSize var pageNumb ...

  5. sofar:机器学习检测十题

    http://sofasofa.io/forum_main_post.php?postid=1001084 http://sofasofa.io/forum_main_post.php?postid= ...

  6. GridView 子项长度和宽度一样

    下面是gridview 控件,每行放置四个,因此用宽度除4. 下面展现出来的的界面就显的比较美观. public class HotSearchAdapter extends BaseAdapter ...

  7. DPDK+Pktgen 高速发包测试

    参考博客 Pktgen概述 Pktgen,(Packet Gen-erator)是一个基于DPDK的软件框架,发包速率可达线速. 提供运行时管理,端口实时测量. 可以控制 UDP, TCP, ARP, ...

  8. tortoisegit 学习

    注:陈刚在Ubuntu虚拟机架设了git的服务器,用于管理公司的代码工程: tortoisegit是TortoiseSVN的Git版本,tortoisegit用于迁移TortoiseSVN到Torto ...

  9. 解决apache启动错误:Could not reliably determine the server's fully qualified domain name

    启动apache遇到错误:httpd: Could not reliably determine the server's fully qualified domain name [root@serv ...

  10. 【腾讯敏捷转型No.6】如何打造称手的敏捷工具

    通常情况下,大家对于敏捷的感受就是:大家一起来开站立晨会啦!然后一大早,大家拿着早餐,围成一个圈,听一个人在讲话. 在很多公司,决定采用敏捷之后,都会从晨会开始,因为很多人觉得敏捷其它模块都很难学习, ...