《算法竞赛进阶指南》打卡-基本算法-AcWing 90. 64位整数乘法:位运算
生活随笔
收集整理的這篇文章主要介紹了
《算法竞赛进阶指南》打卡-基本算法-AcWing 90. 64位整数乘法:位运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目解答
- 題目鏈接
題目解答
分析:
位運算,快速冪的思想 /* a * b a + a + a + a + a ... + a 共b個aa * 1 = a a * 2 = 2a a * 4 = 2a + 2a a * 8 = 4a + 4a ... a * (2^k) = 2^k * a時間復雜度是logb級別的 */ac代碼
#include<bits/stdc++.h> using namespace std; typedef long long LL;int main(){LL a, b, p;cin >> a >> b >> p;LL res = 0;while(b){if(b & 1) res = (res + a) % p;b >>= 1;a = a * 2 % p;}cout << res <<endl; }題目鏈接
https://www.acwing.com/problem/content/92/
總結
以上是生活随笔為你收集整理的《算法竞赛进阶指南》打卡-基本算法-AcWing 90. 64位整数乘法:位运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《算法竞赛进阶指南》打卡-基本算法-Ac
- 下一篇: 《算法竞赛进阶指南》打卡-基本算法-Ac