[Usaco2006 Dec]Milk Patterns

同花顺自动化交易避坑指南:pywinauto实战中验证码识别与界面弹窗处理 本文深入探讨同花顺自动化交易中的关键稳定性问题,重点解决验证码识别与弹窗处理两大难题。通过优化Tesseract OCR、整合打码平台API以及设计pywinauto弹窗监控体系,提供了一套完整的自动化交易解决方案,帮助交易者有效规避资金账户和持仓信息操作中的常见陷阱。 阅读详情

Description

农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天
产奶的质量,但连续的若干天的质量有很多重叠。我们称之为一个“模式”。
John的牛奶按质量可以被赋予一个0到1000000之间的数。并且John记录了N(1<=N<=20000)天的
牛奶质量值。他想知道最长的出现了至少K(2<=K<=N)次的模式的长度。
比如1 2 3 2 3 2 3 1 中 2 3 2 3出现了两次。当K=2时,这个长度为4。

Input

* Line 1: 两个整数 N,K。
* Lines 2..N+1: 每行一个整数表示当天的质量值。

Output

* Line 1: 一个整数:N天中最长的出现了至少K次的模式的长度

Sample Input

8 2
1
2
3
2
3
2
3
1



Sample Output

4

思路:和上一题一样,求最长可重叠的重复子串,但多了一个限制,要至少出现k次。二分,按height分组后统计是否有一个组的后缀个数大于k,如果有,那么就表明这一组的公共前缀在原字符串里出现了k次以上,那么就符合要求,return true;
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxl=40010;
int sa[maxl],tsa[maxl],rank[maxl],trank[maxl],sum[1000010],n,s[maxl],k,ans,h[maxl];

void sorts(int j){
	memset(sum,0,sizeof(sum));
	for (int i=1;i<=n;i++) sum[rank[i+j]]++;
	for (int i=1;i<=n;i++) sum[i]+=sum[i-1];
	for (int i=n;i;i--) tsa[sum[rank[i+j]]--]=i;
	
	memset(sum,0,sizeof(sum));
	for (int i=1;i<=n;i++) sum[rank[tsa[i]]]++;
	for (int i=1;i<=n;i++) sum[i]+=sum[i-1];
	for (int i=n;i;i--) sa[sum[rank[tsa[i]]]--]=tsa[i]; 
}

void getsa(){
	for (int i=1;i<=n;i++) trank[i]=s[i];
	for (int i=1;i<=n;i++) sum[trank[i]]++;//for (;;);
	for (int i=1;i<=1000000;i++) sum[i]+=sum[i-1];
	for (int i=n;i;i--) sa[sum[trank[i]]--]=i;
	rank[sa[1]]=1;
	for (int i=2,p=1;i<=n;i++){
		if (trank[sa[i]]!=trank[sa[i-1]]) p++;
		rank[sa[i]]=p;
	}
	for (int j=1;j<=n;j*=2){
		sorts(j);
		trank[sa[1]]=1;
		for (int i=2,p=1;i<=n;i++){
			if (rank[sa[i]]!=rank[sa[i-1]]||rank[sa[i]+j]!=rank[sa[i-1]+j]) p++;
			trank[sa[i]]=p;
		}
		memcpy(rank,trank,sizeof(rank));
	}
}

void geth(){
	for (int i=1,j=0;i<=n;i++){
		if (rank[i]==1) continue;
		while (s[i+j]==s[sa[rank[i]-1]+j]) j++;
		h[rank[i]]=j;
		if (j) j--; 
	}
}

bool check(int lim){
	int len=1,maxs=0,mins=100000000;
	for (int i=2;i<=n;i++){
		if (h[i]<lim){maxs=0,mins=100000000,len=0;} 
		maxs=max(maxs,sa[i]);
		mins=min(mins,sa[i]);
		len++;
		if (len>=k) return true;
	}
	return false;
}

int main(){
	scanf("%d%d",&n,&k);
	for (int i=1;i<=n;i++)
		scanf("%d",&s[i]);
	getsa();
	geth();
	int l=1,r=20000,mid=(l+r)>>1;
	while (l<=r){
		if (check(mid)){
			l=mid+1;
			ans=mid;
		}
		else r=mid-1;
		mid=(l+r)>>1;
	}
	printf("%d\n",ans);
	//for (;;);
	return 0;
}


YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py 全网最详细的YOLOv5之推理部分detect.py源码逐行注释,近四万字的超详细讲解!小白入门必看! 阅读详情

相关推荐

手把手教你用UNI-MOL进行分子性质预测:从3D构象到实战结果

本文提供了使用UNI-MOL进行分子性质预测的完整实战指南。通过详细的环境搭建、3D构象生成、模型加载与微调步骤,手把手教你构建端到端的预测流水线。文章重点解析了如何利用UNI-MOL的3D分子表示学习能力,超越传统2D方法,实现对溶解度、活性等性质的更精准预测,并探讨了结果解读与模型分析方法。

weixin_29164091的博客 116

从粒子拖尾到屏幕雨滴:搞懂Unity ParticleSystem的Simulation Space(世界vs本地坐标)避坑指南

本文深入解析Unity ParticleSystem中Simulation Space的核心原理与实战应用,帮助开发者理解世界坐标与本地坐标的本质区别。通过陨石拖尾、雨雪特效等案例,展示如何在不同场景中选择合适的坐标模式,避免常见视觉问题,并提供了UI特效处理与性能优化方案。

weixin_30772105的博客 428

用Python turtle库 绘制皮卡丘

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。 turtle基础知识参考: https://gitchat.blog.youkuaiyun.com/article/details/90696190 https://blog.csdn.ne...

qq_36295856的博客 2万+

[USACO06DEC] Milk Patterns G

美妙的Hash

zzb的博客 348

ros1 ubuntu22.04 安装教程

ROS1 ubuntu22.04 安装教程

autolabor的博客 9196

基于STM32设计自动输液监测系统(241)

该系统集成了液位传感模块、光电传感器、电机模块、按键模块和OLED显示屏等多个功能模块,以实现全面的输液过程监控和控制。液位传感模块能够实时监测输液瓶中的液位,当液位到达限定值时,系统会自动控制步进电机夹紧输液管,并发出报警提醒,确保输液过程不会因液位过低而中断。

1341

洛谷2852 [USACO06DEC]牛奶模式Milk Patterns(Hash)(二分)(排序)

题目 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠。我们称之为一个“模式”。 John的牛奶按质量可以被赋予一个0到1000000之间的数。并且John记录了N(1&lt;=N&lt;=20000)天的牛奶质量值。他想知道最长的出现了至少K(2&lt;=K&lt;=N)次的模式的长度。比如1 2 3 2 3 2...

A_Bright_CH的博客 722

【100%通过率】2024华为OD机试真题E卷 C++ 实现【栈数据合并/空栈压数】

向一个空栈压入正整数,每当压入一个整数时,执行以下规则(设: 栈顶至栈底整数依次编号为n1、n2...nx, n1为最新压入的整数)

MISAYAONE的博客 1553

bzoj1717[Usaco2006 Dec]Milk Patterns 产奶的模式 (二分+hash)题解①

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 993  Solved: 549 [Submit][Status][Discuss] Description 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,

lethalboy 1040

STM32G0/G4电机控制中三角函数与浮点运算优化实战

三角函数(sin/cos)和浮点运算是电机矢量控制(FOC)的核心基础,直接影响Clark/Park变换、SVPWM及观测器的实时性与精度。在资源受限的MCU上,标准math.h库因无硬件FPU支持而引发严重时序抖动,导致电流环延迟、转矩脉动增大甚至系统复位。通过硬件加速(如STM32G4的CORDIC协处理器)或定制化定点算法(如STM32G0的查表+线性插值),可将sin/cos计算从数十微秒压缩至1–3 μs量级,提升30倍以上效率。该方案广泛适用于BLDC/PMSM驱动、伺服控制及高动态响应嵌入式运

weixin_35751412的博客 109

使用R包PreMSIm预测微卫星不稳定的标题:基于基因表达量的微卫星不稳定性预测

在本文中,我们将介绍如何使用R语言中的PreMSIm包来根据基因表达量进行微卫星不稳定性的预测。需要注意的是,本文仅介绍了使用PreMSIm包进行微卫星不稳定性预测的基本流程和代码示例。在实际应用中,还需要考虑数据的质量控制、模型优化以及结果的解释和验证等因素,以确保预测结果的准确性和可靠性。预测结果将返回一个包含微卫星不稳定性指数的向量,其中每个元素对应一个样本的预测结果。在有了输入数据后,我们可以使用PreMSIm包中的函数进行微卫星不稳定性的预测。函数生成一个包含所有样本的微卫星不稳定性信息的表格。

2301_79330511的博客 382

bzoj1717: [Usaco2006 Dec]Milk Patterns 产奶的模式

后缀数组+二分答案+离散化。(上次写的时候看数据小没离散化然后一直WA。。。写了lsj师兄的写法。 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define REP(i,s,t) for(...

weixin_30339457的博客 137

10步掌握!跨国企业在MySQL中实现数据主权的秘诀 vs. 传统方法,你选对了吗?

首先,我们要明确“数据主权”这一概念。简单来说,它指的是国家对其境内产生的所有类型的数据拥有绝对控制权。这意味着即使数据被存储在国外服务器上,只要该数据来源于某国,那么该国政府就有权对其进行监管。对于跨国公司来说,这就要求它们必须严格遵循不同国家关于数据保护的规定,如欧盟的GDPR、美国的《云法案》以及中国的《网络安全法》等。

java专栏 714

bzoj 1717 [Usaco2006 Dec]Milk Patterns 产奶的模式

后缀数组+二分答案

我要吃熊猫 463

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[bzoj1717][Usaco2006 Dec]Milk Patterns 产奶的模式

后缀数组

Unlimited Code Works 335

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 952  Solved: 519 [Submit][Status][Discuss] Description 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,

CRZbulabula的博客 936

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[USACO 2006DEC]Milk Patterns(牛奶模式)——后缀数组

题面   POJ3261   洛谷P2852 解析   翻译一下题目要求:给定一个长为n(1≤n≤20000)的字符串,求其最长的至少出现了k次的可重叠子串长度。   答案显然具有二分性,如果长为$l$的串至少出现了k次,那么长为$l-1$的串也至少出现了k次,那么此题显然可以二分答案,那么如何check?   子串即是原串所有后缀的前缀,至少出现了k次,即是该串至少为k个...

weixin_30532973的博客 211

BZOJ1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 后缀数组

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1064  Solved: 580 [Submit][Status][Discuss] 题解: 后缀数组求出来Height数组,然后求出相邻的K个串的LCP即可,不需要让串的长度大于K,因为等于K一定比大于

Oakley 891

bzoj1717: [Usaco2006 Dec]Milk Patterns 产奶的模式[后缀数组]题解②

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1011  Solved: 558 [Submit][Status][Discuss] Description 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量

lethalboy 409

【BZOJ1717】[Usaco2006 Dec]Milk Patterns 产奶的模式 后缀数组

【BZOJ1717】[Usaco2006 Dec]Milk Patterns Description 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠。我们称之为一个“模式”。 John的牛奶按质量可以被赋予一个0到1000000之间的数。并且John记录了N(1<=N<=20000)天的牛奶质量...

weixin_30892763的博客 363

【bzoj1717】[Usaco2006 Dec]Milk Patterns 产奶的模式

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1341  Solved: 726 [Submit][Status][Discuss] Description 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量

Joky_2002的博客 338

BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 二分答案 哈希/后缀数组

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1265  Solved: 682 [Submit][Status][Discuss] Description 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量

BlackJack 960

bzoj 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式

题目链接 bzoj 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 题解 后缀排序 求出height之后一段区间[l,r]内,出现r-l+1次最长的串是\(min(height[i]) l<=i<=r\) 单调队列维护 代码 // luogu-judger-enable-o2 #include<cstdio> #include&l...

agtvo48266的专栏 243

bzoj 1717: [Usaco2006 Dec] Milk Patterns

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1717 可以说是后缀数组模板题吧,求出height[]后用一个单调队列维护最近的k-1个height中的最小值,找出其中的最大的即可。(为什么那么多人都用二分而不用单调队列呢?) #include #include #include #include #def

greatwall1995的专栏 871
上一篇: 最长可重叠的重复子串
下一篇: pku1734 Musical Theme
thy_asdf
博客等级 码龄12年 16粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值