首页 > 其他分享 >Compress Words

Compress Words

时间:2023-09-24 17:24:43浏览次数:39  
标签:ss Compress ne int length Words ans

Compress Words
本人蒟蒻,请看更详细的题解
CF1200E Compress Words 题解
重点是利用KMP计算最长前后缀,注意几个点:长度、越界。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int ne[N];
void kmp(string ss) {
	int n = ss.length();
	ss = ' ' + ss;
	ne[0] = ne[1] = 0;
	for (int i = 2,j=0; i <= n; i++) {
		while (j && ss[i] != ss[j + 1]) j = ne[j];
		if (ss[i] == ss[j + 1]) j++;
		ne[i] = j;
	}
}
int main() {
	int n;
	cin >> n;
	string ans, s;
	cin >> ans;
	n--;
	while (n--) {
		cin >> s;
		int len = min(s.length(), ans.length());
		string ss = s + "#$" + ans.substr(ans.length()-len,len);
		kmp(ss);
		for (int i = ne[ss.length()]; i < s.length(); i++) ans+=s[i];

	}
	cout << ans;
	return 0;
}

标签:ss,Compress,ne,int,length,Words,ans
From: https://www.cnblogs.com/bu-fan/p/17726246.html

相关文章

  • vscode highlight-words 插件
    转载于:https://www.niftyadmin.cn/n/4938901.html?action=onClick设置步骤:按按Ctrl+Shift+P,输入HighlightToggleCurrent,点击右边齿轮图标,进入快捷键页面,点击编辑按钮,按F8,然后按Enter键完成设置其他不变,调整box  "highlightwords.box":{    "light":true, ......
  • HBase HFile与Prefix Compression内部实现全解--KeyValue格式
    1.引子 HFile(HBaseFile)是HBase使用的一种文件存储格式的抽象, 目前存在两种版本的HFile:HFileV1和HFileV2 HBase0.92之前的版本仅支持HFileV1,HBase0.92/0.94同时支持HFileV1和HFileV2。 以下分别是HFileV1/V2的结构图: HFileV1HFileV2(注:这两个图片在hbase......
  • Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法
    Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法点击封面跳转下载页面简介Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法在Unity开发中,性能优化是一个非常重要的方面。一个常见的性能优化技巧是使用ShaderUtil.GetSha......
  • Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法
    Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法点击封面跳转下载页面简介Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法在Unity开发中,性能优化是一个非常重要的方面。一个常见的性能优化技巧是使用ShaderUtil.GetSh......
  • java导出word加水印,使用aspose.words加freemaker实现
    先通过freemaker模板得到word文档通过aspose.words中的Document读取文档,使用aspose.wordsShape添加水印publicstaticvoidexportWordWaterMark(StringtemplateName,Map<String,Object>data,StringdocName,HttpServletResponseresponse,StringwatermarkText,Stringfo......
  • 【每日一题】Problem 653B. Bear and Compressing
    原题解决思路根据当前字符串的首字符进行深度递归即可误区字符串是从头开始匹配的,因此只需要对首字符进行替换#include<bits/stdc++.h>intdfs(std::map<char,std::vector<std::string>>&r,charc,intn,inttarget){if(n==target){retu......
  • some words:brainstorm review identify implement analyse
    Brainstormmeanstohaveadisscussiontosuggestlotsofideasforanactivityorforsolvingaproblem.eg.Let'sbrainstormthenextgameplanning.Wealwaysbrainstormsomeideasfornewgame. Reviewmeanstoexamineorlookatcarefully,espec......
  • uncompress
    uncompress用来解压.Z文件补充说明uncompress命令用来解压缩由compress命令压缩后产生的“.Z”压缩包。语法uncompress(选项)(参数)选项-f:不提示用户,强制覆盖掉目标文件;-c:将结果送到标准输出,无文件被改变;-r:递归的操作方式。参数文件:指定要压缩的“.Z”压缩包。实例......
  • cvxpylayer使用(基于Compressive Structured Light for Recovering Inhomogeneous Part
    论文中Gini系数的计算defcal_sparsity(x):#print(x.shape)n=x.shape[0]#x=x.reshape(x.shape.prob)x=x.abs()x,_=x.sort()#print(x)Gx=0forkinrange(n):Gx+=x[k]*(n-k+0.5)if(x.sum()==0):Gx=0else......
  • compress
    compress使用Lempress-Ziv编码压缩数据文件补充说明compress命令使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出".Z"的扩展名。当要解压缩时,可执行uncompress指令。事实上uncompress是指向compress的符号连接,因此不论......