其实是队友写的
来源:互联网 发布:雅米网络兼职靠谱吗 编辑:程序博客网 时间:2024/05/01 09:53
题目链接:http://codeforces.com/contest/903
题意:给出K个串, 每个串长度为N, 问是否可以找到一个模式串, 使得对于任意Si(1<= i < = N),都可以通过交换2个字符(2个字符下标不同,并且必须交换)使其与找到的模式串相同。
题解:很奇妙的解法。
1:很显然, 一定是这N个串里, 任意S[i]交换(S[i][pos1], S[i][pos2])得到模式串。但是这样从一个串里选2个是C(2,N),然后需要对K个串进行匹配,每次匹配的复杂度是O(N), 所以总体复杂第是N^3*K的, 显然会被数据卡掉。
2:现在进行优化, 我们可以任找2个不同的串,用数组记录下来这2个串字符不同的位置,不同的数目为tot。 接下来一点很重要如果tot = 1, 则一定无解, 很显然, 如果
tot > 4, 也一定无解很显然,tot = 4的时候比如(caab, acba)4个位置都不同, 但可以找到模式串acab。 接下来就对其中一个串不同的位置与这个串其他位置进行交换这里复杂度就优化成了O(tot*N),然后在O(K*N)进行匹配, 总体复杂度为tot*N^2*K。
阅读全文
0 0
- 其实是队友写的
- 其实我写的是个日志。
- 去年写的代码大全笔记(其实是摘记)
- After 500:写500篇博客其实和写一篇是一样的
- 最近更新的资源(其实是很早以前写的东西了)
- 移动的其实是“应用”
- 骁龙845曝光,这回泄密的不是“猪队友”,是自家官网
- 相约2012----致所有队友以及未来的队友
- 写的真好...很多姑娘爱高帅富,其实真正的原因是因为他们有质感,无论物质还是内心
- 其实也没什么好写的
- 写你的shell,其实很简单
- 解锁的Facebook其实是很容易的
- [ASP]其实做小偷是很容易的
- 其实,重要的是学会怎样解决问题
- 真专家其实是热情、厚道的
- 其实dotnet2003是可以调试脚本的
- 好色其实是男人自卑的表现
- linus 其实是 windows 的 fan ...
- Matlab代码-遍历文件夹下所有指定格式的图像
- CF900C:Remove Extra One(思维)
- oozie使用常见的bug解决
- 搭建SSH框架问题汇总笔记(Struts2+Spring4+Hibernate5)
- Iterator和for...of循环
- 其实是队友写的
- 计算1+2+...............+100
- 数据结构课程总结---李恩
- [线段树][单调栈] BZOJ 4527 && CF 407E: K-D-Sequence
- MarkDown语法
- java中判断数组中元素出现的次数
- Salesforce中Public Group/Queue的比较
- 【观察】金山云全面降价释放新信号,中国公有云头部格局已确立
- 蓝桥杯-十六进制转十进制