首页 > 其他分享 >CSP-S 模拟赛 28

CSP-S 模拟赛 28

时间:2024-10-11 21:36:12浏览次数:6  
标签:gcd sum 28 CSP lcm operatorname 模拟

CSP-S 模拟赛 28

T1

  • 签到题。对 \(b\) 分解质因数后便容易求解。

T2

  • 考虑枚举 \(\gcd(S)\) 的取值 \(x\),则 \(\operatorname{lcm}(S)=m-x\)。
  • 那么同时变形 \(\gcd\) 和 \(\operatorname{lcm}\) 变为 \(\gcd(S)=1,\operatorname{lcm}(S)=\dfrac{m-x}{x}\)。
  • 那么对于 \(\gcd\) 和 \(\operatorname{lcm}\) 的取值,有三种情况:

\[f(x)=\sum [\gcd=1,\operatorname{lcm}=x] \]

\[g(x)=\sum [\gcd|x,\operatorname{lcm}=x] \]

\[h(x)=\sum [\gcd|x,\operatorname{lcm}|x] \]

  • \(h(x)\) 是简单的。容易知道 \(h(x)=\sum_{d|x}g(d)\)。

  • 由莫比乌斯反演,\(g(n)=\sum_{d|n}\mu(d)f(\dfrac{n}{d})\)。

  • 那么求出 \(g\) 后从 \(g\) 推到 \(f\) 的式子是同构的。实际上这就是一个容斥的过程。

T3

  • 简单题。从左往右和从右往左各做一遍 dp,采用求和优化一下就能过了,虽然理论上时间复杂度不正确。

T4

  • 抽象科技题目,咕咕咕~

标签:gcd,sum,28,CSP,lcm,operatorname,模拟
From: https://www.cnblogs.com/Rock-N-Roll/p/18459385

相关文章

  • CSP-S 模拟赛 29
    CSP-S模拟赛29T1\(n\le18\)显然是状压dp。考虑设状态\(dp_{i,j}\)表示状态为\(i\),最终的\(a\)为\(j\)时的最大代价及方案数。转移是简单的。优化是观察到最终的\(a\in(\maxa_i,\maxa_i+1)\)。那么这一维便可以用\(0/1\)来设。于是时间复杂度\(O(2^nn)\).......
  • CSP-S 模拟赛 37
    CSP-S模拟赛37T1口胡题。显然尽量靠近中间更优,且选端点一定不劣,于是依据结论将中点设为所有端点的中位数。代码:#include<bits/stdc++.h>#defineN300005#defineintlonglongusingnamespacestd;intn;intl[N],r[N];intrk[N<<1];intpos[N];intans;signe......
  • 多校A层冲刺NOIP2024模拟赛05
    A.好数(number)很容易想到\(n^3\)枚举两个,看第三个是否出现,扩展一下,枚举一个,看剩下需要的和是否出现过,提前处理出两两的和和最早能合出这个数的位置,复杂的\(O(n^2)\)点击查看代码#include<bits/stdc++.h>constintmaxn=5000+10;usingnamespacestd;intn,a[maxn],cnt,......
  • CSP-J 2023 T3 一元二次方程 解题报告
    CSP-J2023T3一元二次方程解题报告Link前言今年\(CSP\)的原题,回家\(1h\)内写\(AC\),但是考场上没有写出来,原因是脑子太不好了,竟然调了两个小时没有调出来.一等奖悬那......正题看完题目,第一眼就是大模拟,并且\(CCF\)绝对不会让你好受,所以出了一个如此***钻的......
  • CSP-S 模拟赛 36
    CSP-S模拟赛36T1由于\(a_i\le10^5\),那么考虑枚举这个\(\gcd\),考虑求\(f(i)\)表示答案,那么\(\operatorname{ans}=\sumi\timesf(i)\)。然而式子中有\(\gcd\),于是考虑求\(g(i)\)表示\(i\mid\gcd\)的方案数,然后\(f(i)=g(i)-\sum_{j>i,i\midj}f(j)\)。对于\(g(i)\)......
  • CSP-S 模拟赛35
    CSP-S模拟赛35T1其实是傻逼题。常见的套路是枚举右端点,动态维护左端点的贡献。发现右端点移动一位只会对一种颜色有影响,那么考虑线段树维护区间的答案,区间加减每个颜色即时的贡献即可。代码:#include<bits/stdc++.h>#defineN1000005#defineM8005#defineintlonglong......
  • 『模拟赛』多校A层冲刺NOIP2024模拟赛05
    Rank烂。A.好数(number)签,唐,没签上。考虑之前几次类似的题方法都是选\(k-1\)的方案存起来以使总复杂度除以一个\(n\),故考虑记共\(n^2\)个两两组合之和,枚举当前点\(i\)前面的点,找是否有值为它们的差的组合,复杂度\(\mathcal{O(n^2)}\),用map记再挂个\(\logn\)。赛......
  • 多校A层冲刺NOIP2024模拟赛05
    T1、好数(number)签到题把选三个数相加拆为选择一个数,然后看前面有没有能用两个数组合出答案。$O(n^2)$。码(#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpair<int,int>pii;#definemkmake_pair#de......
  • [10.11]CSP-S模拟赛
    宝贵经验:写题的时候想出时间正确的方法后千万注意计算空间,能不用数组的地方就不要用,否则可能会像我一样:\(35\to15\to0\)赛前小L说比上次简单。赛时T1一开始没有思路,但是注意到了两个关键条件:询问数\(\le300\)\(n,m\le10^9\)然后想到正解绝对不是去直接修改。注......
  • c语言模拟实现库函数 strlen strcpy strcat strcmp strstr
    一、模拟实现库函数strlen解释:strlen是求字符串长度的,求出的长度是不可能为负数所以返回类型设置为size_t也是合情合理的 typedefunsignedintsize_t\注意字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0')。size_......