该文被密码保护。 阅读全文
摘要:
CF623B Array GCD 题目大意: 给一个长为n的序列v.有两操作如下: 一:删除一段长为m(m<n)的连续子序列,费用为m∗a.操作一只能执行一次. 二:给一个数+1/−1,费用为b.每个数只能执行一次操作二. 求使所有数最大公约数大于1的最小代价. 题解: 阅读全文
摘要:
description 求 n∑i=1m∑j=1[gcd(i,j)==k] solution \[ \begin{align} \sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i, j)==k] &= \sum_{i=1}^{\l 阅读全文
摘要:
引入 首先,我们有这样的两个式子:快速傅里叶卷积式:F(ωk+n/2n)=FL(ωkn/2)+ωknFR(ωkn/2) $$牛顿迭代式:已知G(F(x))=0,则F(x)=F_{0}(x)-\frac{ 阅读全文
该文被密码保护。 阅读全文
摘要:
#include<iostream> using namespace std; int a; string s; int ans, tot; int main(){ cin>>s; for(int i=0; i<s.length()-1; i++){ if(s[i]=='-') continue; 阅读全文
摘要:
solution 可持久化数据结构是在原数据结构的基础上增加维护历史版本的功能。但可持久化并查集的具体思路是利用主席树维护不同版本的每个节点的父节点.如果并查集结构是链式,用按秩合并会导致单次查询复杂度为nlogn,于是我们可以启发式合并,将最大深度较小的集合合并到较大的那一个.剩下的,暴力 阅读全文
摘要:
description 求\sum_^ \gcd(i,n) 设f(k)=∑gcd(i,n)==k1,则有\sum_^\gcd(i,n)=\sum_{d|n}d\cdot f(d),现欲求函数f(k). 可以发现,\(f(k)=\sum_{i=1}^{n}[\gcd(i, 阅读全文
摘要:
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<map> #include<set 阅读全文