CF 585 E Present for Vitalik the Philatelist 我们假设 $ f(x) $ 表示与 $ x $ 互质的数的个数,$ s(x) $ 为 gcd 为 $ x $ 的集合的个数. 那么显然答案就是 \[\sum_{i > 1} f(i)s(i) \] 所以我们现在考虑怎么求 $ f $ 和 $ s $ . 先考虑 $ f $ , \[f(x) = \sum_{i} [gcd(i,x) = 1] c_i\\f(x) = \sum_{i} c_i \sum_{d|…
[题目]E. Present for Vitalik the Philatelist [题意]给定n个数字,定义一种合法方案为选择一个数字Aa,选择另外一些数字Abi,令g=gcd(Ab1...Abx),要求满足g≠1且gcd(Aa,g)=1,求方案数取模1e9+7.2<=n<=5*10^5,2<=ai<=10^7. [算法]数论,计数问题 [题解] 考虑选择一些数字使得g≠1,容易想到枚举g值,O(n ln n)地枚举g的倍数,得到b[g]表示数列中数字为g的倍数的个数. 那么含…
E. Present for Vitalik the Philatelist time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standard output Vitalik the philatelist has a birthday today! As he is a regular customer in a stamp store called 'Ro…
CF585E. Present for Vitalik the Philatelist 题意:\(n \le 5*10^5\) 数列 \(2 \le a_i \le 10^7\),对于每个数\(a\)满足\(gcd(S)=1,\ gcd(S,a) \neq 1\)的集合称为\(MeowS\),求\(MeowS\)的个数和 一开始想对于每个数求出有多少个数和它互质,就是没有公因子,容斥一下就是: 所有数-1个公质因子+2个不同公质因子-3... 每个数不同的质因子最多有8个,预处理一下貌似可做 然…
「CF585E」 Present for Vitalik the Philatelist 传送门 我们可以考虑枚举 \(S'=S\cup\{x\}\),那么显然有 \(\gcd\{S'\}=1\). 那么我们从里面可以选一个数出来作为 \(x\),共有 \(|S'|\) 种可能,我们记为 \((x,S)\). 但是这样显然会计算到一些不合法的情况,考虑统计. 对于一个集合 \(S\),若其 \(\gcd\) 为 \(1\),则再任意添加一个数 \(\gcd\) 仍为 \(1\),这样的二元组显然…
n<=500000个2<=Ai<=1e7的数,求这样选数的方案数:先从其中挑出一个gcd不为1的集合,然后再选一个不属于该集合,且与该集合内任意一个数互质的数. 好的统计题. 其实就是要对每个数求和他互质的,gcd不为1的集合数,容斥一下,求出所有gcd不为1的集合数A然后减去所有他的质因子对这个A的贡献.(这里的A是CF的题解的B) 那先看看所有gcd不为1的集合数怎么求.比如说2的倍数有cnt_2个,那能凑出2^cnt_2-1个集合,然后3的倍数有cnt_3个,能凑出2^cnt_3-…
好题!学习了好多 写法①: 先求出gcd不为1的集合的数量,显然我们可以从大到小枚举计算每种gcd的方案(其实也是容斥),或者可以直接枚举gcd然后容斥(比如最大值是6就用2^cnt[2]-1+3^cnt[3]-1-(6^cnt[6]-1),cnt[x]表示x的倍数的个数),用容斥计算的话可以发现系数是莫比乌斯函数的相反数,就可以线性筛了.下面会记录一种O(MAX*ln(MAX))的筛法...求cnt的话可以选择直接枚举倍数计算O(MAX*ln(MAX))或者分解质因数,因为1e7内最多有8个不…
题意:给n个数\(a_i\),求选一个数x和一个集合S不重合,gcd(S)!=1,gcd(S,x)==1的方案数. 题解:\(ans=\sum_{i=2}^nf_ig_i\),\(f_i\)是数组中和i的gcd不为1的个数,\(g_i\)是选取集合gcd为i的方案数. \(f_n=\sum_{i=1}^N[gcd(n,i)!=1]a_i\) \(f_n=\sum_{i=1}^N\sum_{d|gcd(i,n)}\mu(d)a_i\) \(f_n=\sum_{d|n}\mu(d)\sum_{i=1…
Codeforces 题目传送门 & 洛谷题目传送门 一道不算太难的 D1E 罢--虽然我不会做/kk u1s1 似乎这场 Div1 挺水的?F 就是个 AC 自动机板子还被评到了 3k2-- 首先我们注意到对于固定的 \(x\) 及集合 \(S\),如果 \(\gcd(S)>1,\gcd(x,\gcd(S))=1\) 那么必然有 \(x\notin S\),否则显然有 \(\gcd(S)=\gcd(x,\gcd(S))\) 可立即推出矛盾,也就是说我们可以直接忽略这个条件.我们考虑直接枚举…
(一道Div2E不会,我太难了) 题意: 给你一个长度为$n$的颜色序列$A$,每次操作可以选择两个相邻元素交换,求把序列交换成“相同颜色挨在一起”所需的最少操作数. 按颜色排序:设颜色$col$在序列中出现的最左处为$l$,最右处为$r$,则$A_{l},\cdots , A_{r}=col$ $n\leq 4\times 10^5,A_{i}\leq 20$ 题解: 根据那个20的范围我们可以考虑一个状压dp的做法. 一般人定义状态都是设$dp(s)$表示排好s中的颜色所需要的最少步数,转移…