bzoj1031: [JSOI2007]字符加密Cipher

Springboot+sqlserver+Quartz整合报错: Failure obtaining db row lock: 第 1 行: 只有 DECLARE CURSOR 才允许使用 FOR U 1.报错信息 org.springframework.context.ApplicationContextException: Failed to start bean 'quartzScheduler'; nested exception is org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler; nested exception is org.quartz.SchedulerConfig 阅读详情

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1031

思路:非常水的后缀数组,把串复制一遍到后面,后缀排序即可。

#include<cstdio>
#include<cstring>
#include<algorithm>
const int maxn=200010;
using namespace std;
int n,t1[maxn],t2[maxn],sa[maxn],rank[maxn],sum[maxn],cnt;char s[maxn];

void getsa(){
	int *x=t1,*y=t2,m=255,p=0;
	for (int i=1;i<=n;i++) sum[x[i]=s[i]]++;
	for (int i=1;i<=m;i++) sum[i]+=sum[i-1];
	for (int i=n;i;i--) sa[sum[x[i]]--]=i;
	for (int j=1;p<n;j<<=1,m=p){
		p=0;
		for (int i=n-j+1;i<=n;i++) y[++p]=i;
		for (int i=1;i<=n;i++) if (sa[i]>j) y[++p]=sa[i]-j;
		memset(sum,0,sizeof(sum));
		for (int i=1;i<=n;i++) sum[x[y[i]]]++;
		for (int i=1;i<=m;i++) sum[i]+=sum[i-1];
		for (int i=n;i;i--) sa[sum[x[y[i]]]--]=y[i];
		swap(x,y),x[sa[1]]=p=1;
		for (int i=2;i<=n;i++){
			if (y[sa[i]]!=y[sa[i-1]]||y[sa[i]+j]!=y[sa[i-1]+j]) p++;
			x[sa[i]]=p;
		}
	}
	memcpy(rank,x,sizeof(rank));
}

int main(){
	scanf("%s",s+1),n=strlen(s+1);
	for (int i=1;i<=n;i++) s[i+n]=s[i];
	s[(n=n*2)+1]='\0',getsa(),n/=2;
	for (int i=1;i<=n*2;i++) if (sa[i]<=n) putchar(s[sa[i]+n-1]);
	puts("");
	return 0;
}


EMI互信息探索:让智能体在稀疏奖励下自主‘好奇’学习 在强化学习中,稀疏奖励环境导致传统探索方法失效,智能体难以获得有效反馈。互信息(Mutual Information)作为一种可微、可优化的信息度量,为内在动机探索提供了理论基础与工程路径;其核心在于建模动作与状态表征间的因果关联,而非依赖外部信号或人工设计的奖励函数。通过对比学习(如InfoNCE)实现端到端优化,EMI将高维观测压缩为解耦、语义敏感的状态表征,显著提升动力学建模能力与探索效率。该方法广泛适用于机器人控制、游戏AI、仿真训练等需自主认知环境的场景,是解决奖励稀疏问题的关键技术范式。 阅读详情

相关推荐

Vigenere-Cipher:使用Vigenere Cipher加密字符串

Vigenere密码 Vigenere密码是一种基于关键字的字母,通过使用一系列交织的Caesar密码来加密字母文本的方法。 它采用一种多字母替代形式。 安装 该库使用python3,可以从下载。 安装python之后,使用pip安装软件包。 $ pip install vigenere 此版本中不需要外部依赖项。 快速开始 打开python shell,仅用4行命令就可以开始加密和解密文本。 >> > from vigenere import encrypt , decrypt , random_key >> > cipher_key : str = random_key () # one can even use user-defined key such as `qwerty` >> > cipher = encrypt ( 'hello world' , cipher_key

SQLServer游标配置详解:为什么你的Quartz定时任务在SpringBoot中总是报db row lock错误?

本文深入解析SQLServer游标机制,解决SpringBoot整合Quartz时常见的`db row lock`报错问题。通过配置游标参数、优化连接池设置及调整事务隔离级别,有效提升Quartz定时任务的稳定性和性能,适用于高并发调度场景。

weixin_30839881的博客 511

手把手教你用单结晶体管搭建简易振荡电路(含电路图和波形分析)

本文详细介绍了如何使用单结晶体管(UJT)搭建简易振荡电路,包括电路设计、波形分析和实战技巧。通过具体的电路图和参数计算,帮助电子爱好者和工程师快速掌握UJT振荡器的设计与调试方法,适用于脉冲信号生成和时钟源制作等应用场景。

weixin_29207533的博客 516

[JSOI2007]字符加密

嘟嘟嘟 一看到子串排序,就想办法往后缀数组上靠。 因为后缀数组的排序和长度无关,所以我们把字符串加倍后直接一个后缀排序即可。 然后观察一下输出,其实就是\(sa[i]\)的上一个字符,所以排完序后如果\(sa[i] \leqslant n\)就输出\(s[sa[i] + n - 1]\)即可。 \(O(n \log ^ 2 n)\)的,不开O2还TLE了一个点…… #include&...

weixin_30520015的博客 95

Teams会议翻译对比测试:Copilot同传 vs 人工翻译,结果出乎意料

本文通过对比测试Microsoft 365 Copilot的实时翻译与专业人工翻译在Teams会议中的表现,揭示了AI同传技术在准确率、响应速度和多语言切换方面的优势与局限。实验数据显示,Copilot在常规商务场景下接近人工翻译水平,且成本效益显著,但在专业术语和文化特定表达上仍需人工辅助。

weixin_29054195的博客 223

从DeepMimic到虚拟偶像:用动作捕捉数据训练AI跳舞的完整流程(附Blender插件配置)

本文详细介绍了如何利用DeepMimic的深度强化学习框架,将动作捕捉数据转化为虚拟偶像或游戏角色的舞蹈动作。从核心的模仿学习理念、PyBullet环境搭建、策略网络与奖励函数设计,到数据处理、训练技巧(如参考状态初始化),最后讲解了如何将训练好的AI模型集成到Blender和Unity等工具中,实现从数据到实时驱动角色的完整流程。

weixin_29054399的博客 502

Spring中集成Quartz时遭遇Failure obtaining db row lock异常

今天在一个新的项目中用Spring集成Quartz来进行任务调度,和以往一样,配置好JobDetail、Trigger、SchedulerFactoryBean启动,却遭遇到如下异常信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name sfb defined in UR

老唐 的专栏 3万+

极智量化平台实战:5分钟教你用Python实现双均线交易策略(附完整代码)

本文详细介绍了如何在极智量化平台上使用Python实现双均线交易策略,包括数据获取、信号生成、回测分析和策略优化。通过完整的代码示例和实战演示,帮助开发者快速掌握量化交易系统的基本原理和应用方法,实现自动化交易。

weixin_29269441的博客 487

BZOJ1031: [JSOI2007]字符加密Cipher

Description 喜欢钻研问题的JS同学,最近又迷上了对加密方法的思考。一天,他突然想出了一种他认为是终极的加密办法:把需要加密的信息排成一圈,显然,它们有很多种不同的读法。例如下图,可以读作: JSOI07 SOI07J OI07JS I07JSO 07JSOI 7JSOI0 把它们按照字符串的大小排序: 07JSOI 7JSOI0 I07JSO JSOI07 OI

Mrazer 1596

Android 14.0 首次开机默认授予app运行时权限(去掉运行时授权弹窗)

在14.0的系统rom产品定制化开发中,在6.0以后对于权限的申请,都需要动态申请,所以会在系统首次启动后,在app的首次运行时, 会弹出授权窗口,会让用户手动授予app运行时权限,在由于系统产品开发需要要求默认授予app运行时权限,不需要用户默认授予运行时弹窗,所以需要在首次开机默认授予所有app运行时权限

安卓兼职framework和app工程师的博客 2531

AIGC算法工程师 面试八股文

1、简述DDPM的算法原理 2、什么是重参数化技巧?Diffusion Models和VAE中的重参数化技巧是如何使用的? VAE中的重参数化技巧 Diffusion Models中的重参数化技巧 3、什么是马尔可夫过程?DDPM中的马尔可夫链是如何定义的? 马尔可夫过程 DDPM马尔可夫链 4、为什么DDPM前向过程中前期加噪少,后期加噪多? 5、VAE和Diffusion Models中的变分推断是什么? 6、Negative Prompt实现的原理是什么?

沉迷单车的追风少年 1万+

BZOJ 1031: [JSOI2007]字符加密Cipher

二次联通门 :BZOJ 1031: [JSOI2007]字符加密Cipher /* BZOJ 1031: [JSOI2007]字符加密Cipher 把原串复制一遍 然后求一遍后缀数组即可 */ #include <cstdio> #include <cstring> #define Max 10000...

weixin_30528371的博客 103

二叉树三种遍历(动态图+代码深入理解)

文章目录一、图示理解(图片是一位前辈所留,在此感谢)1、先序遍历2、中序遍历3、后序遍历4、层序遍历二、深入理解三种遍历让我们来理解一下绕着外围跑一整圈的真正含义是:遍历所有结点时,都先往左孩子走,再往右孩子走。下面做一个实例吧三、代码实现加以理解以下是C语言全部代码实现下面是同样的例子用c++实现,大家可以参考一下 一、图示理解(图片是一位前辈所留,在此感谢) 1、先序遍历 先序遍历可以想象成,...

流楚丶格念的博客 3万+

bzoj 1031: [JSOI2007]字符加密Cipher

题目链接 bzoj 1031: [JSOI2007]字符加密Cipher 后缀数组裸题。 把字符串接到自己后面后直接排序。 输出结尾字符就好了QAQ /************************************************************** Problem: 1031 Language: C++ Result: Accepted...

agtvo48266的专栏 121

【文献笔记】ICCV 2021 | Point Transformer

作者提到,特别适合点云处理,因为自注意力机制是的核心,本质上就是一个集合算子:它对输入元素具有顺序不变性和数量不变性3D点云是无序的,即使改变点云txt文件中的点顺序也不会有任何影响。自注意力机制天然具有排列不变性,因为它通过对所有"点对"的关系进行建模来处理输入,而不依赖于任何特定的输入顺序点云数据通常覆盖了3D空间中的对象或场景,理解这些数据需要捕捉点与点之间复杂的空间关系。自注意力机制能够有效的捕捉这些关系,因为它为每个"点对"赋予一个。

m0_55908255的博客 965

Devexpress16.2.6破解工具

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

[Bzoj]1031: [JSOI2007]字符加密Cipher

1031: [JSOI2007]字符加密Cipher Time Limit:10 SecMemory Limit:162 MBSubmit:5983Solved:2491[Submit][Status][Discuss] Description   喜欢钻研问题的JS同学,最近又迷上了对加密方法的思考。一天,他突然想出了一种他认为是终极的加密办法 :把...

73

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C++继承方式详解:public、protected、private的区别与应用场景

在面向对象编程中,继承是实现代码复用和建立类层次关系的核心机制。其原理是通过派生类继承基类的成员,形成一种父子关系,从而实现属性和行为的传递。这一技术的价值在于能够构建出结构清晰、易于扩展的软件架构,同时通过访问控制保障封装性。在实际应用场景中,根据设计意图的不同,C++提供了三种继承方式:公有继承用于建立“是一个”的接口层次,私有继承表达“用…来实现”的实现复用,而保护继承则是一种相对罕见、需要慎用的受控实现继承。理解这些继承方式对于掌握C++面向对象设计至关重要,尤其是在处理复杂类库框架和面试中关于继承

weixin_30443731的博客 384

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

bzoj 1031: [JSOI2007]字符加密Cipher 後綴數組模板題

1031: [JSOI2007]字符加密Cipher Time Limit:10 SecMemory Limit:162 MBSubmit:3157Solved:1233[Submit][Status] Description 喜欢钻研问题的JS 同学,最近又迷上了对加密方法的思考。一天,他突然想出了一种他认为是终极的加密办法:把需要加密的信息排成一圈,显然...

alex151194310的博客 75
上一篇: bzoj3585: mex
下一篇: bzoj3676: [Apio2014]回文串
thy_asdf
博客等级 码龄12年 16粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值