题面 \(n\leq 10^{12},k\leq 100\) 题解 一眼就是一个\(Min\_25\)筛+拉格朗日插值优化,然而打完之后交上去发现只有\(60\)分 神\(tm\)还要用主席树优化-- 大概是这样,设\(g(n,j)\)表示\(1\)到\(n\)之间的所有满足\(i\)是质数或者\(i\)的最小质因子大于\(p_j\)的所有\(f(i)\)之和,我们根据递归地来求解\(g\),设一个阈值\(L=\sqrt{n}\),当\(n\leq L\)的时候,用主席树优化,能做到每一次查询只…
题面 传送门 题解 肝了整整一天--膜拜yww和cx巨巨--(虽然它们的题解里我就没看懂几个字) 请备好草稿纸和笔,这种题目就是需要耐心推倒 题目所求是这么一个东西 \[ \begin{aligned} ans &=\sum_{i=1}^n\sum_{x_1=1}^i\sum_{x_2=1}^i...\sum_{x_k=1}^ilcm(\gcd(i,x_1),\gcd(i,x_2),...,\gcd(i,x_k))\\ &=\sum_{i=1}^n\sum_{x_1=1}^i\sum_{x…
传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f(n,k)\)为满足要求的\(k\)元组个数,现在要求出\(\sum_{i=1}^n f(i,k),1\leq n\leq 10^9,1\leq k\leq 1000\). 思路: 首先来化简一下式子,题目要求的就是: \[ \begin{aligned} &\sum_{i=1}^n\sum_{j=1…
LOJ 题面传送门 首先将 \(\sigma_k(ij)\) 展开: \[\sigma_k(ij)=\sum\limits_{x\mid i}\sum\limits_{y\mid j}[x\perp y](\dfrac{iy}{x})^k \] 具体原理就是我们将一组 \(x\mid i,y\mid j,x\perp y\) 的因子对 \((x,y)\) 对应到一个 \(ij\) 的质因子 \(f(x,y)\) 上.考虑每一个质因子 \(p\),由于 \(x\perp y\) 这个限制的存在,\…
才知道vector在插入值后是可以直接修改的... 那就很简单了 用vector的lowerbound这样的二分操作,提前储存每个颜色的位置 发现交换相对位置不变 关于vector的lowerbound的讲解(感谢QAQ) #include<iostream> #include<cstdio> #include<string> #include<algorithm> #include<cmath> #include<vector> #…
min_25筛 用来干啥? 考虑一个积性函数\(F(x)\),用来快速计算前缀和\[\sum_{i=1}^nF(i)\] 当然,这个积性函数要满足\(F(x),x\in Prime\)可以用多项式表示 同时,\(F(x^k),x\in Prime\)要能够快速计算答案 需要预处理的东西 先不考虑求前缀和的问题,考虑一个积性函数\(F(x)\) 求解\[\sum_{i=1}^n[i\in Prime]F(i)\] 直接求我也会懵逼的,还是找一个函数来算算,假设\(F(x)=x^k\) 那么,求解\…
先定义几个符号: []:若方括号内为一个值,则向下取整,否则为布尔判断 集合P:素数集合. 题目分析: 题目是一个积性函数.做法之一是洲阁筛,也可以采用Min_25筛. 对于一个可以进行Min_25筛法的积性函数,它需要满足与洲阁筛相同的条件,即: 对于$f(p), p \in P$,它可以多项式表出.对于$f(p^k),p \in P$可以被快速计算出. 这道题中$f(p) = p-1$再对$2$进行修正即可. 对于1的情况我们单独考虑,现在我们对答案进行一些变换. $$\sum_{i=2}^…
题意 求 \([L, R]\) 之间的素数之和 . \(L≤10^{10},2×10^{10} \le R \le 10^{11}\) 题解 一个有点裸的 min_25筛 ? 现在我只会筛素数的前缀和 , 合数的过几天再学吧 . 首先推荐一波 yyb大佬博客 这个人很强 , 别那么fake就好啦 令 \(F(x) = x\) 显然此处 \(F(x)\) 是完全积性函数 . 我们需要求的就是 \[\displaystyle \sum_{i=1}^{n} [i \in Prime] F(i)\] .…
传送门 省选之前做数论题会不会有Debuff啊 这道题显然是要求\(1\)到\(x\)中所有数第二大质因子的大小之和,如果不存在第二大质因子就是\(0\) 线性筛似乎可以做,但是\(10^{11}\)的数据范围让人望而却步,而杜教筛需要对\(f(x)\)找到一个函数\(g(x)\)做狄利克雷卷积成为一个好算前缀和的函数\(h(x)\),相信各位是找不到这样一个函数的.所以考虑Min_25筛.但用Min_25筛还不知道要筛什么东西,故从Min_25筛最后的计算过程入手. Min_25筛的每一层递归…
Min_25 筛这个东西,完全理解花了我很长的时间,所以写点东西来记录一些自己的理解. 它能做什么 对于某个数论函数 \(f\),如果满足以下几个条件,那么它就可以用 Min_25 筛来快速求出这个函数的前缀和. 它是一个积性函数 对于一个质数 \(p\) ,\(f(p)\) 的表达式必须是一个项数比较小的多项式.即 \(\displaystyle f(p) = \sum a_ip^{b_i}\). 对于一个质数 \(p\) ,\(f(p^k)\) 的表达式必须可以由 \(f(p)\) 快速得到…