bzoj2251 [2010Beijing Wc]外星联络
2016-05-19 21:36
281 查看
因为n很小,所以对于串s的每一个后缀,都把其加入字典树中,并且经过一个字典树节点,该节点权值就+1。
输出时因为要字典序最小,所以字典树先走0分叉,再走1分叉,如果节点权值大于等于2就输出
代码
输出时因为要字典序最小,所以字典树先走0分叉,再走1分叉,如果节点权值大于等于2就输出
代码
#include<cstdio> const int N = 5001010; int n,sum ,f [2],tot,i; char s ; void gao(int x) { int t=0,i; for (i=x;i<n;i++) { if (f[t][s[i]-48]==0) f[t][s[i]-48]=++tot; t=f[t][s[i]-48]; sum[t]++; } } void out(int x) { if (sum[x]>1) printf("%d\n",sum[x]); if (f[x][0]) out(f[x][0]); if (f[x][1]) out(f[x][1]); } int main() { scanf("%d",&n); scanf("%s",s); for (i=0;i<n;i++) gao(i); out(0); }
相关文章推荐
- linux 套接字编程入门--Hello World
- Java对象的序列化和反序列化
- 第4章 分治策略——strassen算法
- jQuery踹门笔记@codeSchool
- iOS开发——socket服务器的搭建
- mysql字符集小结
- 集合框架 - ArrayList的实现原理
- acm_方格移动
- (5)css盒子模型(基础上)
- 教师兼干部类
- 教师兼干部类
- 教师兼干部类
- 教师兼干部类
- 教师兼干部类
- PHP位运算以及如何引用外部文件
- tomcat(12)org.apache.catalina.core.StandardContext源码剖析
- Poj 2755:神奇的口袋
- 基-2 FFT算法的C++程序
- javascript 数组 find 与filter
- java中的匿名内部类总结