【JZOJ 5272】神奇的重复序列

高通camera open代码流程(hal到kernel) 内容:简单介绍Camera open代码调用流程,从HAl到kernel。(api1+hal1) 前言 Android camera api和hal对应关系。安卓在版本更新过程中,camera相关代码也经历了几个版本的更新,表现为camera HAL版本更新(HAL1->HAL2->HAL3),camera API版本更新(camera API1->camera API2),接下... 阅读详情

Description

这里写图片描述

Solution

枚举两字符串的开头,暴力往后扫大家应该会做吧,
设两字符串开头为x,y(x<y),设k=y−x
我们发现,如果对于多个位置,如果它在所在串的相对位置%k是相同的,那么这几个位都必须相同,
比如:两串的开头为1、3,k=2,那么,1、3、5、7等都必须相等,
换句话说,就是在两串相交时,会有一定的周期性,
(大家写两个数据看看就可以知道了)

发现开头没有必要一个个枚举,直接设前面开头为位置1,然后贪心找到合法的最右边,再弹掉开头即可,

复杂度:O(n2∗26)

Code

#include <cstdio>
#include <cstdlib>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define min(q,w) ((q)>(w)?(w):(q))
#define max(q,w) ((q)<(w)?(w):(q))
using namespace std;
const int N=3500;
int m,n,ans;
int a[N];
int b[N][28],bs[N];
int z[N],TI;
void UPD(int q)
{
    int e=0;
    fo(i,1,26)e=max(e,b[q][i]);
    bs[q]=b[q][0]-e;
}
int main()
{
    int q,w,e;
    scanf("%d",&m);
    char ch=' ';
    for(;ch<'a'||ch>'z';ch=getchar());
    for(;ch<='z'&&ch>='a';ch=getchar())a[++n]=ch-96;
    ans=min(m,n);
    fo(I,1,n)
    {
        fo(i,0,I)
        {
            bs[i]=0;
            fo(j,0,26)b[i][j]=0;
        }
        q=0;TI++;
        int S=1,T;
        for(T=1;I+T<=n;T++)
        {
            w=T%I;
            if(z[T]<TI)b[w][a[T]]++,b[w][0]++;
            b[w][a[T+I]]++,b[w][0]++;
            z[T]=z[T+I]=TI;
            q-=bs[w];
            UPD(w);
            q+=bs[w];
            for(;q>m;S++)
            {
                int t=S%I;
                b[t][a[S]]--;
                b[t][0]--;
                q-=bs[t];
                UPD(t);
                q+=bs[t];
                z[S]=0;
            }
            ans=max(ans,T-S+1);
        }
    }
    printf("%d\n",ans);
    return 0;
}
海康威视摄像头CVE-2017-7921漏洞复现:从零到一的实战指南(含解密工具下载) 本文详细解析了海康威视摄像头CVE-2017-7921漏洞的技术原理与复现方法,提供从环境搭建到实战利用的完整指南。通过认证绕过漏洞,攻击者可获取敏感信息并执行高权限操作,文章还包含解密工具下载与防御建议,助力安全研究人员深入理解物联网设备安全风险。 阅读详情

相关推荐

吐血总结《Mysql从入门到入魔》,图文并茂

文章目录1. 查询1.1 查询多列1.2 检索唯一值1.3 限制输出1.4 注释2. ORDER BY 排序2.1 单列排序3.2 多列排序3.3 指定排序方向4. WHERE 过滤数据4.1 WHERE 子句操作符4.2 范围值检查4.3 空值检查5. 高级数据过滤5.1 WHERE 组合过滤5.2 IN 操作符5.3 NOT 操作符6. 通配符过滤6.1 % 通配符6.2 _ 通配符7. 创建计算字段7.1 计算字段7.2 拼接字段7.3 执行算数计算8. 函数8.1 常用文本处理函数8.2 日期和时间

向日葵的专属太阳 3万+

【JZOJ5272】【GDOI2018模拟】神奇的重复序列(DP,性质题)

DescriptionSolution如果两个串重叠的话,那么很明显这个串会是一个周期串(画个图就知道了)。 枚举两个串的左端点的间距k,那么根据周期串的性质,在%k相同的地方都是相同的,那么我们枚举k,然后在枚举第一个串的左端点,然后用一个指针j向右扫过去。如果要把%k相同的修改为相同的话,那么就是保留其中出现次数最多的字符。那么我们对于%k的位置要存储每个字符出现多少次还有出现最多的是什么,和

Facico的博客 702

光栅衍射有入射角时_偏振光栅的衍射角度及衍射效率测量

偏振光栅是一种基于入射光的偏振态实现选择性分光的衍射光学元件,衍射角度取决于光栅线数。通过控制入射光的偏振态,偏振光栅能够调控正一阶和负一阶之间的能量分布。当入射光束偏振态不同时,偏振光栅具有不同的衍射特性。理想的偏振光栅:当入射光为右旋圆偏振光时,只有+1级衍射光,衍射光为左旋圆偏振光。当入射光为左旋圆偏振光时,只有-1级衍射光,衍射光为右旋圆偏振光。当入射光为非圆偏振光时,偏振光栅同...

weixin_39552768的博客 6003

【JZOJ 5272】 神奇的重复序列

Description 1<=|S|<=3000Analysis挖掘一下题目性质: 1.答案满足二分性(不过我并没有想到有什么卵用,如果有人想到较优复杂度的算法麻烦留言告知) 2.最关键的一点:考虑枚举两个相同子串的结尾位置 i 和 j(i < j),然后对于一个字符,考虑和它相同的字符有哪些。设 k=j-i,对于那些下标对 k 取模相同的位置,字符一定都是一样的,不同的互不影响。 然后如果

LYD729 376

一文整理深度学习【深度学习linux的docker+pytorch+cuda+nvidia-docker+vscode配置】

docker+pytorch+cuda+nvidia-docker+vscode

Edward的博客 1335

1.4 你绝对不能错过的天气查询工具:MCP 标准化接入实战

本文介绍了如何构建一个符合MCP标准的天气查询服务。通过FastMCP框架集成OpenWeatherMap API,实现实时天气、天气预报和历史天气查询功能。文章详细展示了从环境准备、插件设计到控制器实现的完整流程,包括如何定义工具函数、配置路由和中间件。同时讲解了如何将MCP服务封装为LangChain工具并与DeepSeek等大模型集成,还涵盖了缓存、限流等高级特性。该示例演示了如何将任意API标准化为MCP服务,为Agent应用提供统一接口。

yonggeit的博客 3047

【JZOJ5272】【GDOI2018模拟8.14】神奇的重复序列

DescriptionData ConstraintSolution我们发现当两个起点i,j(iCode#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; const int maxn=3e3+5; int bz[maxn][200

dance in th dark的博客 367

Android面试指南及参考答案

【摘要】LesPark招聘Android开发工程师,要求3年以上经验,负责客户端功能开发与优化。岗位需掌握Java、多线程、网络编程(TCP/UDP/HTTP)及性能调试工具。面试重点考察:1)核心技术如网络协议选择(TCP可靠消息/UDP实时音视频)、内存泄漏分析;2)业务能力如图片懒加载三级缓存设计、启动速度优化案例;3)高阶系统原理如插件化框架设计;4)行为问题应对策略。建议候选人准备并发编程、JVM差异等深度知识,并量化项目优化成果,尤其关注社交应用相关的图片处理、实时通信等场景题。

郑伟强dev的专栏 801

jzoj5272 神奇的重复序列 (寻找性质)

题面分析魔幻的题目。 对于两个起点x,y,设间隔p=y-x,容易看出若i = j (mod p)i~=~j~(mod~p),那么s[i]与s[j]的值应该相等。也就是p个一循环。这是很关键的性质 然而我并没有发现???! 现在考虑所有%p相等的位置,当然是都改成出现次数最多的最优。 那么我们枚举p,维护一个f[x][c]表示模数为x的位置c的出现次数。 我们还需要求个s[x]与mx[x],

一位蒟蒻的小博客 386

【AUTOSAR-RTE】-1-聊一聊RTE(Run-Time Environment)

RTE(Run-Time Environment)是AUTOSAR ECU架构的核心。

「汽车电子助手」的博客 6502

vue3:实现飞书扫码授权登录流程+完整示例源码,用户使用飞书移动端扫描飞书登录二维码进行登录后获取用户信息数据,vue3接入飞书登录系统,支持新跳页显示二维码或div容器里内嵌登录二维码(详细代码)

vue3飞书扫码登录网页,vue3飞书扫码登录网页,vue3接入飞书扫码登录全流程,Vue3在网页中接入飞书二维码SDK,vue3飞书扫码登录网页,实现用户授权登录的流程,Vue3集成飞书前端JSSDK,对接飞书扫码授权,飞书扫码授权,vue3网站集成飞书登录生成二维码,VUE3用户扫码飞书授权登录,飞书开发-网页应用JSSDK鉴权流程,飞书开放平台自建网页应用登录与免登录,vue3接入二维码SDK将飞书登录的二维码嵌入到网页中,pc后台管理系统接入飞书登录,vue3项目中实现扫码登录飞书,Vue飞书免登录

✅ 精选推荐文章 4390

Atcoder AGC011F : Train Service Planning(线段树)

传送门 题解: 这个题看到循环,显然就是给你解同余方程的。 我们记pipip_i为0到nnn的车在每个站停留时间,qiqiq_i为nnn到0的车在每个站停留的时间,因为重复出现,所以以下都在modkmodk\bmod k意义下进行。 为了方便,可以看做两个方向的火车都在000和nnn停留,从而都从0出发,那么在modkmodk\bmod k意义下,对于一个bm=1bm=1b_m=1的站台,...

DZYO的博客 558

【Unity】【WebRTC】如何用Unity而不是浏览器接收远程画面

之前几篇我们讨论了如何设置信令服务器,如何发送画面给远端以及如何用浏览器查看同步画面,今天来讨论如何实现Unity内部接收画面。看本篇之前请先看过之前将web服务器设置和基本远程画面功能的几篇博文。在Unity编辑器中打开一个示例项目,点击BroadCast按钮。4. 再点击Receiver按钮,Start。Build一个示例项目,并运行这个项目。启动Web.app。

每日出拳老爷子的博客 1721

JZOJ5272. 神奇的重复序列 结论

不知道这题该归类到什么东西里面。。。可以发现,假设最终通过改变而相同的子串,假设他们一个结尾在i,一个结尾在j,设k=j-i,他们中的子串中任意两个下标%k相同的位置,他们的字符肯定也相同(结论。)那么知道这一点后我们就可以开始乱搞了(迷) 我们先枚举周期k,然后扫一遍串。 每一次维护一个右指针r,表示最多能延伸到哪里,然后设一个need表示当前用了多少次机会,那么每次我们可以更新答案ans=m

老臣 313

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

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

jzoj5272. 【GDOI2018模拟8.14】神奇的重复序列

Description Input Output Sample Input 2 tmirkoxlyzmirkoslav Sample Output 8 Data Constraint 赛时 比赛时想到一个O(n3)O(n^3)O(n3)的东东,就是枚举起点,然后暴力向右走。 结果发现可以重合。然后再化化图发现,后面的部分是呈周期性呈现的。 具体一点就是假设两个起点之间的距离为L,那么满足答案的序列就是每个长度为L的区间是完全相等的。 这有什么好处呢?现在我们判断是否满足题目要求就变成了每L个位置的点

RainbowCrown_CGH's blog 300

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【AtCoder】【AGC011f】Train Service Planning

Description有一条地铁线路,n段路,n+1个站,每段路可以同时交汇走两辆车或只能走一辆车, 每个站可以停车,停车不占用线路, 现在每隔Kmin发一次车,分别从起点/终点开向终点/起点,

2502

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Atcoder Grand Contest 011F - Train Service Planning

Problem Statement There is a railroad in Takahashi Kingdom. The railroad consists of N sections, numbered 1, 2, ..., N, and N+1 stations, numbered 0, 1, ..., N. Section i directly connects

wxh010910 969

【GDOI2018模拟8.14】神奇的救火现场

DescriptionInputOutput输出一行表示水管的最小总长Sample Input3 2 12 50 81 27 73Sample Output23Code这题和一道贪心的模板题是一样的,那道题叫做保持平衡,是移树的问题 做法是,将所有的车和栓按照坐标排序,然后依次做 水管的长度是坐标之差的绝对值 因为做的时候是按照坐标依次做,所以一定是后做的坐标减前面的坐标,可以忽略绝对值

Jacky35 370

[agc011f]Train Service Planning

题目大意 有n+1个车站,n条轨道,第i条轨道联通i-1和i车站,通过它要花a[i]时间,这条轨道有b[i]=1或2条车道,也就是说,他是单向还是双向的。现在有两种火车,一种从0到n,一种从n到0,有无限辆,同种的发车间隔是K。 现在请你分别确定两种火车在每个站停留的时间,确保单车道不会有两辆车相向而行,且同一条轨道(不是车道),不能同时存在两部同向的火车。 要求最小化两种火车从起点到终点的...

ZLTJohn的博客 686

[agc011c]Squared Graph

前言很简单的计数套路。 没看过题解我有可能做复杂了。题意不想讲。做法先讲原图孤立点统计贡献,接下来讨论的所有点均不孤立。 我们想要统计一个联通块,可以统计特征点的个数。 即对于一个x.y,如果其是特征点,不存在与其联通的一个点t.u满足t<xt<x或x.z满足z<yz<y。 容易发现特征点第一维只能是原图中其所在联通块的最小编号点。 第二维如果也是最小编号点,显然也是可以的。 还有一种情

不来也不去的一只失忆蝴蝶 896

【JZOJ 3427】归途与征程

Solution 题意简化以后就是:在b串的同构中,有多少个可以按顺序匹配多个串。 我们可以先把a串拆开,每个做一遍KMP的预处理, 倍长b串,枚举b串的开头,依次匹配过去, 每次匹配的时候,记录一下上一次匹配失败的位置,直接从上次匹配失败的地方开始匹配;成功是也记录一下,判断一下

1300

【GDOI 2016 Day1】第二题 最长公共子串

抽象题意:给出两字符串S,T,求经过一些奇怪的操作后的最长公共子串 Solution 很显然一些有交集的区间是可以合并的, 一个区间内我们只需要记录每个字母的个数, 我们就可以枚举两个字符串的相对位置,然后在重叠的部分用指针维护, 设区间i,j是合法的, 我们现在把j往后移一位,j所在的区间的字母$T_j$个数就-1, 然后把再移动指针i去使其合法,i所在的区间的$T_i$个数就+1,并且i++;直到合法或移爆

1123

【NOIP2015模拟11.2】复制&粘贴2

Description文本编辑器的一个最重要的机能就是复制&粘贴。JOI社现在正在开发一款能够非常高速地进行复制&粘贴的文本编辑器,作为JOI社一名优秀的程序猿,你担负起了复制&粘贴功能的测试这一核心工作。整个JOI社的命运都系在你的身上,因此你无论如何都想写出一个正确且高速的程序来完成这项工作。 具体的做法如下所示。文件的内容是一个字符串S,对其进行N(N<=2*10^5)次复制&粘贴的操作,第

829

【GDOI2016模拟3.9】暴走的图灵机

Description solution显然,这是一个像斐波拉契数列的东西,问题变成了求这个序列操作(n-1)次后与T的最大匹配, KMP自己学 当我们“左手右手一个慢动作”搞出两个长度大于m的串(设为A串和B串),这是我们来模拟一下A,B串之后的变化: A B AB BAB ABBAB BABABBAB ……. 我们又发现:因为A,B串的长度是大于m的

807

【JZOJ 4624】字符串匹配

Description Solution 很显然的KMP嘛, 把T串加长,然后把n求个余数然后除一下,再倍长后做几遍KMP即可, 复杂度:O(n)O(n)

736

【GDOI 2017】【JZOJ 1502】小学生语文题

Description给出一个原始串和目标串,要求在原始串上不停的把后面的字符移动到前面去,用最少的步数使两串相同。 n<=2000n<=2000Solution用DP:fi,jf_{i,j}表示目标串匹配到了i,原始串匹配到了j, 那么当前有两种选择: 1. 如果两位置字符相同,则直接匹配; 2. 当前这位的目标串然后面的来匹配,先跳过; 3. 当前这位的原始串去匹配前面跳过的目标串(当

662
上一篇: 【JZOJ 5276】【清华集训2017模拟】神奇的玩具
下一篇: 【JZOJ 5282】【清华集训2017模拟】等差划分数
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值