- 博客(4)
- 收藏
- 关注
原创 使用位运算的快速幂取模运算
例题:求a^b mod p的值;思路:快速幂取模运算。1.先介绍快速幂:当我们想要求a的b次方,正常遍历一遍时间复杂度是O(n),而使用快速幂的话会接近O(logn)。比如:求8的4次方。正常书写int a=8;for(int i=1;i<=4;i++) a*=8;思路是8*8*8*8;而快速幂的思路则是将转换为,从而将思路转换为求64*64但在a^b中,b不一定可以化为2的次方。所以我们要使用一个变量存起来a^x,使得b-x是2的次方。2.接下来介绍位
2021-08-02 13:24:39
297
原创 利用vector去除前导零
前言:什么是前导零? 前导零是指一个字符串,第一个不为0的数的前面为0的数,举个栗子,比如0000010000,被标红的地方就是前导零,前导零一般是在高精度减法所遇到的问题。使用vector也可以去除前导零。1.将一个字符串逆序的存放到vector中 vector<int> A; string a; cin>>a; for(int i=a.size()-1;i>=0; i--) A.push_back(...
2021-07-20 11:08:17
2236
1
原创 pair中vector的使用
pair中使用vector,其实类似于开一个二维数组。本人亲测,二维数组开不了的数,其实pair也开不了。比如。1.创建:pair<int, vector<int> > a[10];2.怎样将数据存到vector中:for(int i=1;i<=10;i++) { a[i].first=i; (a[i].second).push_back(i); }3.注意事项:1.切记不能直接赋值,比...
2021-07-20 10:50:27
647
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人