上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: 这是一种对于一个数论函数 \(f(n)\),计算 \(S(n)=\sum_{i=1}^n f(i)\) 的快速方法。 构造两个积性函数 \(h,g\) 满足 \(h=g*f\),根据卷积的定义,有 \(h(i)=\sum_{d|i}g(d)f(\frac{i}{d})\),对 \(h\) 求和,有: 阅读全文
posted @ 2024-04-02 20:40 Hypoxia571 阅读(8) 评论(0) 推荐(0) 编辑
摘要: P2495 考虑建立虚树,先求出原树的欧拉序,然后对于输入序列,按照 dfn 排序后取出相邻位的 LCA。 对于这些关键点,拓展出右端点,然后按照欧拉序排序,再模拟 dfs 在上面做 dp 即可。 AGC056C 是谁不会差分约束?是谁不会差分约束?是谁不会差分约束? 首先套路的给 \(0/1\) 阅读全文
posted @ 2024-04-01 09:26 Hypoxia571 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 这种东西看代码比说话好用。 xor 多重集哈希 const ull mask=std::chrono::steady_clock::now().time_since_epoch().count(); int ull shift(ull x) { x^=mask, x^=x<<13, x^=x>>7, 阅读全文
posted @ 2024-03-31 19:39 Hypoxia571 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 拉格朗日插 拉格朗日插值:给定 \(n+1\) 个点 \((x_i,y_i)\),确定一个 \(n\) 次多项式 \(f\) 对其求值。 \[f(k)=\sum_{i=0}^{n}y_i \prod_{i\neq j}\frac{k-x_j}{x_i-x_j} \]正确性可以通过带入 \(x_i\) 阅读全文
posted @ 2024-03-22 18:46 Hypoxia571 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 做到就会补进来 >w< 平方和 \[\sum_{i=1}^n i^2=\frac{n(n+1)(2n+1)}{6} \] 立方和 \[\sum_{i=1}^n i^3=\frac{n^2(n+1)^2}{4} \] 乘积约数个数 \[d(ij)=\sum_{x|i}\sum_{y|j}[\gcd(x 阅读全文
posted @ 2024-03-21 09:21 Hypoxia571 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 根可持久化线段树差不多,这里贴个板子 >w< void insert(int &p,int q,int x,int i,int id) { p=++tot, val[p]=id; if(i 1) return; tr[p][0]=tr[q][0], tr[p][1]=tr[q][1]; int d= 阅读全文
posted @ 2024-03-21 07:02 Hypoxia571 阅读(7) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-03-15 14:57 Hypoxia571 阅读(11) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-03-12 22:13 Hypoxia571 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 这里。 暴力做一个后手必败局面列表是一个是一个这样的列表,然后 \((a,b)\) 等价于 \((b,a)\)。 (0,0)(1,2)(3,5)(4,7)(6,10)(8,13) 然后 \(a_i\) 是前面的 \(a_x,b_x\) 的 mex,\(b_i=a_i+i\)。 为什么是一个取 mex 阅读全文
posted @ 2024-02-25 19:37 Hypoxia571 阅读(5) 评论(0) 推荐(0) 编辑
摘要: void add(int x) { dn(i,60,0) if(x>>i&1) { if(mg[i]) x=x^mg[i]; else { mg[i]=x; break; } } } 线性基的第 \(i\) 位如果有数,那它最高位是 \(2^i\)。 首先这样搞出来的是一个线性基,它有这些性质( 线 阅读全文
posted @ 2023-11-13 18:47 Hypoxia571 阅读(8) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页