CSP-S初赛第六套总结

二、1:

本题代码使用了ST表,因此会使用的算法可能会是LCA或者RMQ,但是这里很明显没有出现爬树的现象,所以可以判断为是RMQ求区间最值,再看 getmax 函数可以看出是求区间最大值。所以本题目标就是求区间最大值*最小值*区间长度。

2:

本题也是使用的ST表存储,9~17行可以清晰看出是快速幂,39和40行的x(r-l+1)则是区间长度,最后就是x^k(快速幂)。所以也是比较显而易见的。

3:

本题为数位dp,27~30行为分解各位上的数,dfs中的pos用于判断位数,两个pre则是用来维护数当中不出现相同数字。

三,1:

题目给出信息:用基数排序解决。

基数排序:基于多关键字排序的思想,将一个逻辑关键字分为多个关键字,它是基于关键字各位的大小进行排序的。

本题关键字就是给出的65536,并且在16,31行将65536分为了高16位和低16位。最后利用前缀和进行比较,可得出各部分答案。

2:

本题主要难点在于对2^n-1次方的判断,其他都是类似vector,priority_queue的常规判断,其他如上。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值