题目描述
解题思路:
其实这里用到的就是容斥思想,因为我们不容易找到符合逃狱条件的数量(情况很多很麻烦),但是如果让我们找不符合的情况,就是很简单, 跳过约束条件找到总情况就可以了,然后通过总情况减去我们不符合情况的,剩下的就是符合的情况了 我们的越狱问题就像一个集合,其中有两个条件,一个是不能越狱的情况,一种是可以越狱的情况
这样就不难写出我们的代码了
什么是快速幂?
这里举个栗子:
当我们需要计算6的25次方的时候,我们通常会使用一个while循环来实现25个6进行相乘,虽然这样可以实现我们的目的,但是运行花费的时间比较多,但是当我们使用快速幂的时候,在运行上花费的时间会大量减少
但是快速幂是如何实现时间复杂度降为O(logn)的呢?
快速幂部分代码的实现:
使用快速幂和不使用的区别:
不使用快速幂的实现的代码:
使用快速幂实现的代码: