首页 > 其他分享 >P2398 GCD SUM

P2398 GCD SUM

时间:2024-07-10 17:53:47浏览次数:15  
标签:lfloor ll GCD sum rfloor P2398 ans SUM

原题链接

题解

\(ans=\sum_{i=1}^{n} i*sum[i]\)
其中 \(sum[i]\) 为最大公约数为 \(i\) 的对数
令 \(f[i]\) 为最大公约数为 \(i\) 的倍数的对数
则有 \(sum[i]=f[i]-sum[2i]-sum[3i]-...-sum[ki]\)
而 \(f[i]={\lfloor \frac{n}{i} \rfloor}^2\) (如果没懂请仔细阅读题目所给符号)
所以 \(sum[i]={\lfloor \frac{n}{i} \rfloor}^2-sum[2i]-sum[3i]-...-sum[ki]\)

实施

倒着遍历算 \(sum\)

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;

ll sum[100005];
void solve()
{
    ll n;
    cin>>n;
    ll ans=0;
    for(ll i=n;i>=1;i--)
    {
        sum[i]=(n/i)*(n/i);
        for(ll j=i*2LL;j<=n;j+=i) sum[i]-=sum[j];
        ans+=i*sum[i];
    }
    cout<<ans;
}
int main()
{
    int t=1;
    //cin>>t;
    while(t--) solve();
    return 0;
}


标签:lfloor,ll,GCD,sum,rfloor,P2398,ans,SUM
From: https://www.cnblogs.com/pure4knowledge/p/18294730

相关文章

  • [二、状态管理]2管理组件拥有的状态(4)@Provide装饰器和@Consume装饰器:与后代组件双向同
    @Provide和@Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景。不同于上文提到的父子组件之间通过命名参数机制传递,@Provide和@Consume摆脱参数传递机制的束缚,实现跨层级传递。其中@Provide装饰的变量是在祖先节点中,可以理解为被“提供”给后代的状......
  • SMU Summer 2024 Contest Round 3(7.10)
    寻找素数对思路:数的范围为10000,直接筛出所有范围内的质数,n2的枚举所有质数对和的情况#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definePIIpair<int,int>constintN=1e4+5;vector<int>pri;intidx,st[N];voidinit(){for(in......
  • SMU Summer 2024 Contest Round 3
    SMUSummer2024ContestRound3寻找素数对题意给你一个偶数,找到两个最接近的素数,其和等于该偶数。思路处理出1e5以内的素数,然后遍历,更新最接近的答案。代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;vector<int>euler_range(intn){......
  • Excel第29享:基于sum嵌套sumifs的多条件求和
    1、需求描述如下图所示,现要统计12.17-12.23这一周各个人员的“上班工时(a1)”。下图为系统直接导出的工时数据明细样例。2、解决思路首先,确定逻辑:“对多个条件(日期、人员)进行“工时”列求和”。故选择sumifs函数,由于是“日期”字段有多个数值,故与sum函数嵌套使用;其次,sumif......
  • D. Same GCDs
    原题链接题解\(\gcd(a+x,m)=\gcd((a+x)mod\m,m)\)由于\(x\in[0,m-1]\),所以\((a+x)mod\m\)一定能遍历完\([0,m-1]\)里的所有数所以\(\gcd(a+x,m)\)等价于\(\gcd(x,m)\)接下来,令\(d=\gcd(a,m)\),则有\(m=t_1d\),\(x=t_2d\),其中\(t_1\)与\(t_2\)互质(如果不互质,......
  • SMU Summer 2024 Contest Round 2
    Sierpinskicarpet1.这道题的核心其实在于,我们要观察到点的位置是在每一个小图形的正方形内,和一个大图型的中心正方形处的,那么通过观察可以发现,如果满足在这个正方形处,那么一定(3k-1+1)<=x,y<=(2*3k-1)2.这个k是什么意思呢?当我们n=3的时候k可以取1,2,3,也就是对应每一级的中间宫......
  • SMU Summer 2024 Contest Round 1
    SequenceDecomposing1.题意其实就是要我们找共有多少个最长的上升的子序列,也就是理解成可以找到几个尽量长的队伍(最少LIS不相交覆盖)2.我们开一个multiset,然后先放进去第一个数,由于multiset会对元素自动从小到大排序,那么我们放进的队尾,也是排序好的,然后从第二个数开始遍历,检查一......
  • 题解:洛谷 P1890 gcd区间
    题解:洛谷P1890gcd区间标签:线段树,st表,分块,dp题意给定数列\(a\),有\(m\)次询问求区间\([l,r]\)的最大公约数。思路这道题有多种写法,如标签所示。线段树线段树可以维护具有结合性的操作,很明显\(\gcd\)满足。这道题线段树跑的慢是因为无修改操作,自然没有其他\(O(1)......
  • CSE 105 Summer Session
    CSE 105Summer Session 1 2024Homework 1Due date: Sunday July 7 at 11:59pmInstructionsOne member of the group should upload your group submission to Gradescope. During thesubmissionprocess,theywillbepromptedtoaddthenameso......
  • SMU Summer 2024 Contest Round 1(7.8)
    A_DiceandCoin题目链接:abc126_c思路:分别求所有掷到的筛子数时赢得可能,进行求和voidsolve(){intn,k;cin>>n>>k;doubleans=0;for(inti=1;i<=n;++i){doublenow=1.0/n;if(i>=k)ans+=now;else{......