高精度运算 高精度加法: int main() { scanf("%s%s",&a1,&b1); if(a1[0] == '0' && b1[0] == '0') { cout << "0"; return 0; } for(int i = 0;i < strlen(a1);++i) a[strlen(a1) - i - 1] = a1[i] - '0'; for(i…
高精度运算 高精度加法: int main() { scanf("%s%s",&a1,&b1); if(a1[0] == '0' && b1[0] == '0') { cout << "0"; return 0; } for(int i = 0;i < strlen(a1);++i) a[strlen(a1) - i - 1] = a1[i] - '0'; for(i…
洛谷:https://www.luogu.org/problemnew/show/U50124 Description 给定一个 n*n 的矩阵 A 以及一个正整数 k,计算\(S = A^1 + A^2 + A^3+...+A^k\) Input 输入只有一组测试数据。输入的第一行包括三个正整数 n, k, m。接下来的 n 行每行包括 n 个非负整数,按照行优先的顺序输入矩阵 A 的元素。 Output 输出 S 中每一个元素 mod(%)m 以后的值 Sample Input 2 2 4 0 1 1 1 Sa…
前言 快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。 C++的实现方式: 先笔记一下: b & 1 //取b二进制的最低位,判断和1是否相同,相同返回1,否则返回0,可用于判断奇偶(偶数二进制结尾是0奇数是1) b>>1 //把b的二进制右移一位,即去掉其二进制位的最低位 就是b=b/2 递归的方式 long long pow(long long a,long long b){ if (b==0) return 1; long long…
神楽坂 みずき
萌萌萌,好萌!