2020牛客暑期多校训练营Sort the Strings Revision(分治,RMQ(笛卡尔树))

本文详细解析了Sort the Strings Revision问题,通过分治策略和RMQ(Range Minimum Query,笛卡尔树)解决数列排序及名次哈希值求和的算法。文章介绍了问题背景、分析过程,并给出了具体的分治与RMQ的实现思路。
摘要由CSDN通过智能技术生成

Sort the Strings Revision

题目描述

在这里插入图片描述

输入描述:

在这里插入图片描述

输出描述:

在这里插入图片描述

示例1

输入

2
5
1 3 1 4
5 2 0 170
1
0 0 0 1
1000000000 1000000006 1000000006 1000000007

输出

26717147
10000019

说明

在这里插入图片描述

题目大意

给定 n n n,则有数列 0 , 1 , . . . 0,1,... 0,1,...,其中 n i = i   m o d   10 n_i=i\,mod \,10 ni=imod10。有数列 p p p d d d,表示对 n n n进行操作。
对于任意的 i i i,操作就是把数列 0 , 1 , … , n 0,1,\dots,n 0,1,,n中第 p i p_i pi个修改成 d i d_i di
现在顺序进行操作,得到 n + 1 n+1 n+1个数列(包括原数列),求将这些序列根据字典序从小到大排序后的名次的哈希值和是多少(名次从 0 0 0开始)。
注:输入给出的是一些数字,为了避免输入耗时,根据题目中的描述生成 d d d p p

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值