[poj3261]Milk Patterns

求出后缀数组和height数组,然后二分答案后分组查询,一个块内如果有超过k个那么这个答案就可以。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define N 50005
 4 int n,m,ans,a[N],b[N],h[N],sum[N],ra[N<<1],sa[N];
 5 char s[N],s1[N];
 6 void change(){
 7     for(int i=0;i<n;i++)a[i]=s[i];
 8     memcpy(ra,a,sizeof(a)); 
 9     sort(a,a+n);
10     m=unique(a,a+n)-a;
11     for(int i=0;i<n;i++)ra[i]=lower_bound(a,a+m,ra[i])-a+1;
12 }
13 void sort(int k){
14     memset(sum,0,sizeof(sum));
15     for(int i=0;i<n;i++)sum[ra[i+k]+1]++;
16     for(int i=1;i<=m;i++)sum[i+1]+=sum[i];
17     for(int i=0;i<n;i++)b[sum[ra[a[i]+k]]++]=a[i];
18 }
19 void build(){
20     for(int i=1;;i<<=1){
21         for(int j=0;j<n;j++)a[j]=j;
22         sort(i);
23         memcpy(a,b,sizeof(a));
24         sort(0);
25         m=a[b[0]]=1;
26         for(int j=1;j<n;a[b[j++]]=m)
27             if ((ra[b[j-1]]!=ra[b[j]])||(ra[b[j-1]+i]!=ra[b[j]+i]))m++; 
28         memcpy(ra,a,sizeof(a));
29         if (m==n)break;
30     }
31     for(int i=0;i<n;i++)sa[ra[i]]=i;
32 }
33 void height(){
34     m=0;
35     for(int i=0;i<n;h[ra[i++]]=m,m-=(m>0))
36         for(int j=sa[ra[i]-1];(i!=j)&&(s[i+m]==s[j+m]);m++);
37     h[1]=0;
38 }
39 int lcp(int x,int y){
40     int ans=0x3f3f3f3f;
41     if (ra[x]>ra[y])swap(x,y);
42     for(int i=ra[x]+1;i<=ra[y];i++)ans=min(ans,h[i]);
43     return ans;
44 }
45 void write(int x,int y){
46     for(int i=x;i<=y;i++)printf("%c",s[i]);
47 }
48 int main(){
49     int t;
50     scanf("%d",&t);
51     while (t--){
52         scanf("%s",s);
53         n=strlen(s);
54         change();
55         build();
56         height();
57         ans=0;
58         for(int i=1;i<=n;i++)ans+=n-sa[i]-h[i];
59         printf("%d\n",ans);
60     }
61 }
View Code

 

转载于:https://www.cnblogs.com/PYWBKTDA/p/11254712.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5.3.5 TCP拥塞控制

5.3.5 TCP拥塞控制 文章目录流量控制与拥塞控制区别

一文读懂2022年国家自然科学基金限项新旧政策对比

来源&#xff1a;国家自然科学基金委员会、微信公众号“锐动源”近日&#xff0c;《2022年度国家自然科学基金项目指南》正式发布&#xff0c;相较于2021年的项目指南&#xff0c;从对比来看&#xff0c;2022年度项目指南变动不大&#xff0c;最重要的几项改革在指南发布前均已…

神经网络通过研究任意单个星系,揭示整个宇宙的组成

来源&#xff1a;ScienceAI编译&#xff1a;绿萝科学家可能偶然发现了一种全新的宇宙学研究方法。宇宙学家通常通过尽可能多地观察宇宙来确定宇宙的组成。但这些研究人员发现&#xff0c;机器学习算法可以检查单个模拟星系&#xff0c;并预测其存在的数字宇宙的整体构成——这一…

手把手教你实现Java发送邮件(1)-发送简单的文本

说明&#xff1a;本博客已经收藏至我的gitee中的code_demo仓库&#xff08;点击此链接跳转&#xff09;中&#xff0c;且gitee中有相应的代码~ 欢迎访问~~ 不仅仅是code&#xff0c;还有一些通俗的讲解哦~ 文章目录一、Java实现邮件发送二、Java发送邮件Java实现纯文本邮件发送…

量化涌现:信息论方法识别多变量数据中的因果涌现

来源&#xff1a;集智俱乐部作者:Fernando E. Rosas, Pedro A. M. Mediano, Henrik J. Jensen等译者:潘佳栋审校:梁金编辑&#xff1a;邓一雪导语大量个体聚集起来&#xff0c;常常涌现出新的复杂结构。鸟儿聚集起来形成兼具灵活性与秩序的鸟群&#xff0c;大量神经元聚集产生强…

4.1_ 1_ 初识文件管理

4.1_ 1_ 初识文件管理

case函数,replace函数

&#xff08;case 字段 when 数据1 then 输出1 when 数据2 then 输出2 when 数据3 then 输出3 else 其他数据输出一致 end&#xff09; as 字段 replace(字段,原子字符串,新子字符串) as 字段 select username,(case rolewhen 0 then 班长when 1 then 课代表when 2 then 组长wh…

阿斯麦CEO:中国不太可能独立造出顶尖光刻机 但也别那么绝对

来源&#xff1a;世界先进制造技术论坛“中国不太可能独立复制&#xff08;replicate&#xff09;出顶尖的光刻技术&#xff0c;因为阿斯麦依赖于不懈的创新&#xff0c;以及整合只有从非中国供应商处才能获得的零部件。但我的意思并不是绝对不可能&#xff0c;因为中国的物理定…

2.42死锁的处理策略一预防死锁

2.42死锁的处理策略一预防死锁

《科学》:中国科学家揭示,人脑中间神经元多样性从何而来?

来源&#xff1a;学术经纬编辑&#xff1a;药明康德内容团队编辑 在我们的大脑皮层中&#xff0c;有两类神经元源自发育的端脑结构。除了兴奋性神经元&#xff0c;中间神经元是另一类重要的神经元&#xff0c;它们可以通过释放γ&#xff0d;氨基丁酸&#xff08;GABA&#xf…

快速入门虚拟机+linux安装(附带视频)

配合视频食用更佳哦~ 01_虚拟机Linux 快速入门 02_手把手教你安装centos7&#xff08;不会你来打我&#xff09; 这是bai du yun 群链接&#xff0c;存放UP主视频中的那个“开箱即用”虚拟机文件压缩包 https://pan.baidu.com/s/4hwvNmIS 文章目录下载地址概念介绍关于虚拟机&a…

03_linux 常用命令(上)

声明&#xff1a;此文档中的部分内容来自于培训班笔记&#xff0c;如有侵权&#xff0c;请联系UP主&#xff0c;即刻删除视频。03_linux 常用命令&#xff08;上&#xff09; 配合视频食用更佳哦~&#xff08;点击蓝色字样&#xff0c;查看up主录制的视频&#xff09; 内容要…

多模态AI崛起,2022年人工智能5大发展趋势

来源&#xff1a;CSDNnews转自&#xff1a;中国机器人网前言国外一家专注于开源和堆栈技术新闻网站 TheNewStark 盘点出 2022 年值得人们期待的五个人工智能发展趋势。随着深度学习的开放&#xff0c;人工智能在几年中快速发展&#xff0c;尖端技术慢慢向普及应用到各行各业。以…

OpenStack组件——Keystone身份认证

1.keystone介绍 keystone 是OpenStack的组件之一&#xff0c;用于为OpenStack家族中的其它组件成员提供统一的认证服务&#xff0c;包括身份验证、令牌的发放和校验、服务列表、用户权限的定义等等。云环境中所有的服务之间的授权和认证都需要经过 keystone. 因此 keystone 是云…

1_RabbitMQ初入门入门Hello消费者+生产者

文章目录1_RabbitMQ初入门1.RabbitMQ的介绍1.工作原理&发送/接收消息的流程2. 为什么要使用消息队列&#xff1f;3.使用了消息队列有什么缺点&#xff1f;2.安装RabbitMQ3.入门程序Hello_消费者&生产者_1.导入依赖2.生产者1.设置连接信息2.获取connection&#xff08;连…

《Nature》:衰老后的核糖体发生了哪些致病变化

来源&#xff1a;生物通研究发现&#xff0c;产生蛋白质的细胞装配线会随着年龄的增长而停滞&#xff0c;从而引发雪球效应&#xff0c;增加错误折叠蛋白质的产量。在人类中&#xff0c;成堆的错误折叠蛋白质会导致与年龄相关的阿尔茨海默病和帕金森病。衰老会损害核糖体有效合…

[转载]eXeScope 6.50本地溢出分析

作 者: humourkyo时 间: 2009-03-30,21:03链 接: http://bbs.pediy.com/showthread.php?t84975无聊逛了下http://www.milw0rm.com 看最近有什么ODAY没&#xff0c;顺便挑一个分析下玩玩。于是就看到了这个http://www.milw0rm.com/exploits/8270是eXeScope 6.50 Local Buffer O…

饶毅:中国脑计划是我见过的最差科学经费管理,中国猴计划应该缓行

左&#xff1a;饶毅 右&#xff1a;蒲慕明来源&#xff1a;饶议科学 作者&#xff1a;饶毅原标题&#xff1a;中国猴计划应该缓行在我国上上下下左左右右普遍对支持科学研究有广泛共识&#xff0c;在我国具备一定支持科学研究的经济条件的情况下&#xff0c;科技部正在推动最大…