摘要: 基础区间加法分块 int L[Z], R[Z], bel[Z]; int a[Z], sum[Z], add[Z]; void modify(int l, int r, int val) { int ll = bel[l], rr = bel[r]; if (ll == rr)//l和r在同一块 { 阅读全文
posted @ 2022-04-09 15:08 sandom 阅读(34) 评论(0) 推荐(3) 编辑
摘要: hash:将字符串转为B进制数 const int B = 131; const int M = 1e9 + 7; #define int unsigned long long void init(int n) { ba[0] = 1; for (re i = 1; i <= n; i++) ba[ 阅读全文
posted @ 2022-04-09 14:09 sandom 阅读(46) 评论(4) 推荐(2) 编辑
摘要: 辗转相除法求最大公约数 inline int gcd(int a, int b) { int r = a % b; while (r) a = b, b = r, r = a % b; return b; } inline int gcd(int a, int b) { return b ? gcd 阅读全文
posted @ 2022-04-09 11:49 sandom 阅读(88) 评论(2) 推荐(3) 编辑
摘要: bool cmp(int i, int k, int now) { if (fabs(fabs(a[i][k]) - fabs(a[now][k])) > eps)//不相等,将大的放上面 return fabs(a[i][k]) > fabs(a[now][k]); for (int j = k 阅读全文
posted @ 2022-04-09 10:26 sandom 阅读(24) 评论(1) 推荐(2) 编辑
摘要: struct matrix { int a[10][10]; matrix () { memset(a, 0, sizeof(a)); } inline friend matrix operator *(matrix A, matrix B) { matrix C; for (int i = 1; 阅读全文
posted @ 2022-04-09 09:39 sandom 阅读(30) 评论(0) 推荐(1) 编辑