当前位置:网站首页>字母交换--字符串dp
字母交换--字符串dp
2022-08-02 10:55:00 【WAWA源】
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>
#include <queue>
using namespace std;
#define int long long
const int N = 200010;
int n,k;
string s;
vector<int>vec[30];
int f[1010][1010];
int cal(vector<int> vec)
{
int n=vec.size();
memset(f,0,sizeof f);
for(int i=0;i+1<n;i++)
f[i][i+1]=vec[i+1]-vec[i]-1;
for(int i=2;i<n;i++)
{
for(int j=0;j+i<n;j++)
{
int l=j,r=j+i;
f[l][r]=f[l+1][r-1]+abs(vec[r]-vec[l])-(r-l);
}
}
int res=0;
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(f[i][j]<=k)res=max(j-i+1,res);
return res;
}
signed main()
{
cin>>s>>k;
for(int i=0;i<s.size();i++)
vec[s[i]-'a'].push_back(i);
int res=0;
for(int i=0;i<26;i++)res=max(res,cal(vec[i]));
cout<<res<<'\n';
}
边栏推荐
- 关于#oracle#的问题,如何解决?
- C#/VB.NET to add more lines more columns image watermark into the Word document
- 行为型模式-策略模式
- 微信小程序---组件开发与使用
- 全方位剖析Numpy中的np.diag源代码
- How to technically ensure the quality of LED display?
- 如何选择一块真正“好用的、性能高”的远程控制软件
- 3年测试在职,月薪还不足2w,最近被裁员,用亲身经历给大家提个醒...
- Geoffery Hinton:深度学习的下一个大事件
- STM32+MPU6050设计便携式Mini桌面时钟(自动调整时间显示方向)
猜你喜欢
随机推荐
Oracle 19c 连接PDB
行为型模式-模板方法模式
MapStruct
Jay Chou's new song is released, crawl the "Mojito" MV barrage, and see what the fans have to say!
Oracle 单实例19.11升级到19.12
LayaBox---TypeScript---Mixins
The 38-year-old daughter is not in love and has no stable job, the old mother is crying
Outsourced Student Management System Architecture Documentation
Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition
4年手工测试被应届生取代了,用血与泪的教训给xdm一个忠告,该学自动化了...
Turning and anti-climbing attack and defense
学习笔记-支付宝支付
ssm网页访问数据库数据报错
流动性质押挖矿系统开发如何制作?单双币系统开发成熟技术
利用二维数据学习纹理三维网格生成(CVPR 2020)
鸿星尔克再捐一个亿
【面向校招】Golang面试题合集
全方位剖析Numpy中的np.diag源代码
一体化在线政务服务平台,小程序容器技术加速建设步伐
MSYS2 QtCreator Clangd 代码分析找不到 mm_malloc.h的问题补救