首页 > 其他分享 >洛谷题单指南-字符串-P4391 [BOI2009] Radio Transmission 无线传输

洛谷题单指南-字符串-P4391 [BOI2009] Radio Transmission 无线传输

时间:2024-10-10 11:03:51浏览次数:8  
标签:Transmission 洛谷题 s1 Next int s2 P4391 size

原题链接:https://www.luogu.com.cn/problem/P4391

题意解读:s1由若干个s2组成,求s2的最小长度,注意题目中说明s1是子串,但是不影响,可以认为s1是补全的由若干s2组成的字符串。

解题思路:

设s1由x个s2组成,如图所示

设s1的Next数组从0开始,那么其最长相同前后缀长度为x-1个s2,即Next[s1.size()-1],那么s2的长度即为s1.size() - Next[s1.size()-1]

100分代码:

#include <bits/stdc++.h>
using namespace std;

int n;
string s;
int Next[1000005];

int main()
{
    cin >> n >> s;

    //计算Next
    for(int i = 1, j = 0; i < n; i++)
    {
        while(j && s[i] != s[j]) j = Next[j - 1];
        if(s[i] == s[j]) j++;
        Next[i] = j;
    }

    cout << n - Next[n - 1];
}

 

标签:Transmission,洛谷题,s1,Next,int,s2,P4391,size
From: https://www.cnblogs.com/jcwy/p/18455873

相关文章

  • 洛谷题单指南-字符串-P3375 【模板】KMP
    原题链接:https://www.luogu.com.cn/problem/P3375题意解读:给定两个字符串:原串s,模式串p,求p在s中出现的所有位置,并输出p的长度为1~p.size()的子串的最长相同真前、后缀的长度。解题思路:KMP模版题,分两问,第一问通过KMP核心算法实现,第二问输出模式串的Next数组内容,接下来一一解读。......
  • 洛谷题单指南-分治与倍增-P6648 [CCC2019] Triangle: The Data Structure
    原题链接:https://www.luogu.com.cn/problem/P6648题意解读:在一个n行的数字三角形中,求所有边长为k的正三角形最大值之和。解题思路:1、枚举法枚举每一个边长为k的三角形,在其中求max,然后累加,n最多3000,时间复杂度是n^4,显然超时。2、倍增和ST思想此题非常类似于RMQ问题,也就是求区......
  • redis 管道 批量处理 transmit multiple commands to the Redis server in one tran
    Redispipelining|Docshttps://redis.io/docs/latest/develop/use/pipelining/RedispipeliningHowtooptimizeround-triptimesbybatchingRediscommandsRedispipeliningisatechniqueforimprovingperformancebyissuingmultiplecommandsatoncewithou......
  • 洛谷题单指南-分治与倍增-P4155 [SCOI2015] 国旗计划
    原题链接:https://www.luogu.com.cn/problem/P4155题意解读:在m个点的环上,有n个区间,且各个区间之间没有包含关系,计算从每个区间开始,最少要多少个区间能覆盖环上所有m个点。解题思路:本质上是一个区间覆盖问题!1、破环成链由于题目中是一个环,对于环的问题,在区间DP中介绍过,经典处理......
  • 洛谷题单指南-分治与倍增-P3517 [POI2011] WYK-Plot
    原题链接:https://www.luogu.com.cn/problem/P3517题意解读:有n个连续的点p1,p2,...,pn,将这n个点分成不超过m堆,每堆点连续,每一堆都缩成一个点qi,要使得原来的点p1~ps距离qi的最大值最小(最相似),求这个相似度,并计算一共分成几堆,以及每堆缩到的点qi的坐标。解题思路:要使得若干点缩到一......
  • 洛谷题单指南-分治与倍增-P3509 [POI2010] ZAB-Frog
    原题链接:https://www.luogu.com.cn/problem/P3509题意解读:n个点,每个点上有一只青蛙每次跳到距离自己第k近的点,m次之后跳到哪个点。解题思路:1、计算距离每个点第k近的点,存入ne[N]给定一个点i,距离i第k近的点一定在长度为k+1个点的窗口内,窗口包括i并且,第k近的点只能是左端点或者......
  • 实现NAS远程下载,Docker部署qBittorrent、Transmission、贝锐花生壳
    与电脑不同,NAS通常都是7*24小时不间断运行,这使得下载资源变得更加便捷,解决了bt、pt下载需要长时间在线、挂机的问题。所以,对于许多选择品牌NAS或自行搭建NAS系统的用户而言,像qBittorrent、Transmission这样的下载管理工具早已成为不可或缺的必备应用。除了可以通过NAS自带的应用中......
  • 洛谷题单指南-分治与倍增-P2345 [USACO04OPEN] MooFest G
    原题链接:https://www.luogu.com.cn/problem/P2345题意解读:有n头牛,每头牛都有听力v、坐标x两个属性,要计算每两头牛的max{vi​,vj​}×∣xi​−xj​∣之和。解题思路:首先想到的肯定是枚举法,需要O(n^2)的复杂度有没有优化的方法?可以采用分治法!由于是计算两头牛之间的max{vi​,......
  • 洛谷题单指南-分治与倍增-P2415 集合求和
    原题链接:https://www.luogu.com.cn/problem/P2415题意解读:计算集合所有子集中元素之和。解题思路:集合的特性:互异性,元素各不相同来看样例:23,可以组成的子集有空23232和3都出现2次再比如:123,可以组成的子集有空12312 13231231,2,3各出现4次由于在集合中......
  • 洛谷题单指南-分治与倍增-P7167 [eJOI2020 Day1] Fountain
    原题链接:https://www.luogu.com.cn/problem/P7167题意解读:从喷泉任意一个圆盘倒水,水流经的圆盘直径必须递增,水最后流到哪个圆盘。解题思路:1、枚举法有30%的数据范围在N<=1000,Q<=1000,因此枚举也可以得到30分。可以通过单调栈预计算每个圆盘后面第一个直径更大的圆盘位置Next[......