首页 > 其他分享 >Lyndon 分解

Lyndon 分解

时间:2024-04-22 22:44:22浏览次数:21  
标签:int 好多个 char 分解 Lyndon 字符串

作用
把一个大字符串分成好多个小字符串
这些小字符串的最小后缀,就是其本身

求出这些小字符串的右端点下标

#include<bits/stdc++.h>
using namespace std;
char s[5000005];
int n,ans;
vector<int> a;
int main()
{
	scanf("%s",s+1);
	n=(int)strlen(s+1);
	int x;
	for(int i=1;i<=n;)
	{
		int j=i,k=i+1;//初始化
		while(k<=n&&s[j]<=s[k])
		{
			if(s[j]<s[k])j=i;//合并为一整个
			else j++;//保持循环不变式
			k++;
		}
		while(i<=j)//从v的开头重新开始
		{
			x=i+k-j-1;//x就是那个下标。 
			//cout<<x<<' ';
			//a.push_back(x);//可以把x存进数组里 
			i+=k-j;
		}
	}
	
	ans=0;
	for(int i=0;i<a.size();i++)
	{
		//cout<<a[i]<<' ';
		ans^=a[i];
	}
	cout<<ans;
	return 0;
}

标签:int,好多个,char,分解,Lyndon,字符串
From: https://www.cnblogs.com/yzzyang/p/18151751

相关文章

  • PiSSA :将模型原始权重进行奇异值分解的一种新的微调方法
    我们开始看4月的新论文了,这是来自北京大学人工智能研究所、北京大学智能科学与技术学院的研究人员发布的PrincipalSingularValuesandSingularVectorsAdaptation(PiSSA)方法。PiSSA和LoRA一样,都是基于这样的前提:对模型参数的改变会形成一个低秩矩阵。这种方法通过将模型中的......
  • 基于矩阵分解的协同过滤算法
    引言随着互联网、大数据等新技术的迅速发展,人们的生活变得更加便捷,但同时也导致网络数据爆炸式增长。为了快速帮助用户找到感兴趣的内容,越来越多的研究者致力于推荐算法的研究,以提高推荐质量,向用户推荐更符合其喜好的内容。然而,目前的推荐算法仍存在数据稀疏性、隐私保护和冷启动......
  • 时序数据分解
    时序数据  时序数据作为与时间强相关数据,有着独特的特点,但是也有很多通用的数据的性质。1.通过数学期望与协方差进行特征相关性的计算;2.平稳性检验  定义上的平稳性指的是固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。其数学期望和方差这......
  • 小论文随便发,最新算法!变分模态分解+霜冰算法优化+LSTM时间序列预测(附matlab代码实现)
     专题推荐:论文推荐,代码分享,视角(点击即可跳转)所有链接建议使用电脑端打开,手机端打开较慢【代码推荐购买指南】电力系统运行优化与规划、时间序列预测、回归分类预测matlab代码公众号历史推文合集23.3.21(电力系统前沿视角/预测和优化方向matlab代码/电力系统优秀论文推荐......
  • [ABC254D] Together Square--分解质因数。
    [ABC254D]TogetherSquare-洛谷 #include<bits/stdc++.h>#defineintlonglong//(有超时风险)#definePIIpair<int,int>#defineendl'\n'usingnamespacestd;constintN=2e5+10,M=1e3+10;inta[N],pre[N];signedmain(){std::io......
  • 分解因子&&分解质因子(模版)
    分解因子:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;constintN=1e6+9;intmain(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); lln; cin>>n; vector<ll>v; for(lli=1;i<=n/i;i++) { ......
  • 分解质因数
    1、算术基本定理(唯一分解定理)每个正整数都能够唯一的表示成它的质因数的乘积2、n中最多只有一个大于根号n的质因子因为如果有两个以上的话,乘积会大于n。因此只需要从2遍历到根号n即可。#include<iostream>usingnamespacestd;intmain(){ intn; cin>>n; for(int......
  • 二十六 3377. 约数的个数 (分解质因数)
    3377.约数的个数(分解质因数)略试除法importjava.util.*;publicclassMain{privatestaticintcalc(intx){intres=0;for(inti=1;i<=x/i;i++){if(x%i==0){res++;if(i......
  • 分解质因数
    描述编写一个把整数N分解为质因数乘积的程序。比如分解210,可以写成210=235*7,请按这个格式输出。输入描述一个整数N(2≤N≤10上角标9)。输出描述输出把N拆成几个质数相乘的形式,质数必须从小到大相乘。用例输入1 120用例输出1 120=2*2*2*3*5代码#include<......
  • 使用QR分解 求一元四次方程的根
            在求特征值的时候,通过QR迭代后就是一个拟上三角矩阵,但不一定是上三角矩阵。        在一定条件下,由QR算法生成的序列{Ak}收敛为Schur分块上三角形,对角块按特征值的模从大到小排列。但有特殊情况,当收敛结果为Schur分块上三角形时,序列{Ak}的对角块以上......