首页 > 其他分享 >NOIP2024集训Day58 字符串

NOIP2024集训Day58 字符串

时间:2024-10-22 20:20:25浏览次数:1  
标签:nxt Day58 印章 字符串 border 集训 NOIP2024

NOIP2024集训Day58 字符串


C. [CEOI2011] Matching

发现要做的是排名串的匹配。

考虑把它转成这个位置之前有多少个数小于当前这个数,这样就只要每个位置都对应相等的,那就一定是合法的。

然后就可以类似 KMP 的预处理出一个 \(nxt\) 数组,然后再类似 KMP 的匹配。

因为需要支持动态求前面一段区间有多少个数比这个数小,所以需要用树状数组维护。


E. [POI2005] SZA-Template

有个结论,一个字符串的印章一定是它的 border,因为只有这样才可能兼顾首尾,但是反过来就不行,也就是说一个字符串的 border \(\ne\) 一个字符串的印章。

设 \(f_i\) 表示前 \(i\) 个字符串的最小印章长度。

\(f_i\) 的取值只有可能是 \(i\) 和 \(f_{nxt_i}\),\(i\) 就是取自己为印章,\(f_{nxt_i}\) 表示先将它的 border 想办法填出来,再在末尾加上剩余字符。

什么时候能从 \(f_{nxt_i}\) 转移过来?

先找到一个最大的 \(f_j = f_{nxt_i}\),由于在 \(j\) 后面我们至多填上 \(f_{nxt_i}\) 长度的字符串,所以当 \(i - j \le f_{nxt_i}\) 时,可以转移。

对于一个合法的 \(j\),维护一个 dp 值对应的最大下标即可。


标签:nxt,Day58,印章,字符串,border,集训,NOIP2024
From: https://www.cnblogs.com/Leirt/p/18493666

相关文章

  • CSP2024 前集训:多校A层冲刺NOIP2024模拟赛11
    前言T1不知道啥是冒泡排序,理解了一会儿题面代码发现是啥意思了于是就签了。后面的题都不是很可做,T2、T4计数,T3高级玩意看不懂。但是T2有点可做,但我的DP不知道哪儿假了,暴力还打挂了,不然加个bitset就操过去了。T1冒泡排序\(i\)只能和\(i+k,i+2k,……\)换,对于每一......
  • 『模拟赛』多校A层冲刺NOIP2024模拟赛11
    Rank考前不挂就是赢A.冒泡排序签,简单的有点格格不入。发现错误代码实质上是将原序列划分成了若干个连通块,并对每个连通块做一遍排序。并查集维护,\(\mathcal{O(n)}\)扫一遍合并连通块,然后按顺序输出即可。复杂度最坏\(\mathcal{O(n\logn)}\)。点击查看代码#include<b......
  • 多校A层冲刺NOIP2024模拟赛11
    多校A层冲刺NOIP2024模拟赛11\(T1\)A.冒泡排序\(100pts/100pts/100pts\)将循环\(j\)提到外面,本质上是对\(a_{j},a_{j+k},a_{j+2k},\dots,a_{j+xk}\)进行排序迭代的过程。按下标模\(k\)的余数分别排序即可。点击查看代码inta[1000010];vector<int>b[1000......
  • 多校A层冲刺NOIP2024模拟赛11
    又双叒叕垫底了。rank11,T190,T212,T35,T435。accdoer上rank44,T1100,T20,T35,T435。难度难评,T1签,剩下的不可做?死磕T3了,猜一个结论假一个,打完暴力遗憾离场。好像两个题库都挂了几分,不管了,赛前挂分RP就++。慢报:5k_sync_closer成功地取得了NFLS模拟赛第一名的好成绩。冒泡......
  • P4247 [清华集训2012]序列操作
    题目描述有一个长度为\(n\)的序列,有三个操作:Iabc表示将\([a,b]\)这一段区间的元素集体增加\(c\);Rab表示将\([a,b]\)区间内所有元素变成相反数;Qabc表示询问\([a,b]\)这一段区间中选择\(c\)个数相乘的所有方案的和\(\mod19940417\)的值。对于100%的数据,\(n\leq500......
  • 【题解】Solution Set - NOIP2024集训Day58 字符串
    【题解】SolutionSet-NOIP2024集训Day58字符串https://www.becoder.com.cn/contest/5658「CF1466G」SongoftheSirens考虑对于\(s_i\),算钦定必须覆盖到\(t_i\)的匹配个数\(f_i\)。注意到\(s\)每次长度都会\(\times~2\)左右,其长度在\(O(\log|w|)\)的时候就......
  • CSP2024 前集训:csp-s模拟12
    前言咕了好久才写,当时又发烧了所以没有交。虽然有两道签,但一道时计算几何一道放了T4都没打,T1赛时猜到结论和先看T4的都赢麻了,T1赛时\(π\)只会背倒第九位精度炸了暴力都不对。剩下的题当天太难受了都没改,改的两道都是specialjudge哎?T1小h的几何九点圆圆心的证......
  • CSP2024 前集训:多校A层冲刺NOIP2024模拟赛10
    前言不想说啥了最简单的一题是紫,去死吧只改了T1、T2,T2原题翻译和赛时题面描述都很唐,赛后断断续续加了好多hack。T1岛屿设\(f_{a,b}\)表示\(a\)条两端同色链,\(b\)条两端异色链时连通块数量的期望。红红蓝蓝相连得到红蓝\(\tof_{a-1,b+1}\)。红红红蓝相连得到红红......
  • NOIP2024集训Day57 哈希
    NOIP2024集训Day57哈希A.[CF213E]TwoPermutations考虑到都是排列,值域连续,于是\(a\)都加\(x\)之后相当于在值域上平移了一段,也是连续的。由于要进行比较,个很容易想到哈希。\(a\)的哈希值很好维护,每次平移一位加上\(\sumbase^i\)即可。考虑如何快速取出\(b\)中在......
  • [赛记] 多校A层冲刺NOIP2024模拟赛09 && 10
    排列最小生成树(pmst)50pts又是诈骗题,然后又不会。。。暴力很暴力,直接建个完全图跑Kruskal即可;正解考虑如果我们连接编号相邻的点,那么每个边的边权都小于$n$真能考虑到吗?;所以我们最终的最小生成树中的边边权都小于$n$;那么对于$|p_i-p_j|\times|i-j|<n$......