首页 > 其他分享 >Codeforces Round #729 (Div. 2) C

Codeforces Round #729 (Div. 2) C

时间:2022-10-17 21:00:42浏览次数:40  
标签:... const int 全集 Codeforces Div lcm i% 729

C. Strange Function

考虑反想我们将x确定看看有多少个i
对于f[i]=x 我们显然i%lcm(1,2,3,...x-1)!=0
这里就可以通过容斥直接求解
i%lcm(1,2,3,...x-1)是含有1,2,3,...x-1因子的一个全集
而i%lcm(1,2,3,...x-1,x)是含有1,2,3,...x-1,x因子的一个全集
而我们求的啥 不含x因子的一个全集
所以ans就是n/lcm(1,2,3,...x-1)-n/lcm(1,2,3,...x-1,x)

#include <bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
const int M = 998244353;
const int mod = 1e9+7;
#define int long long
int up(int a,int b){return a<0?a/b:(a+b-1)/b;}
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define YES cout<<"YES"<<endl;
#define NO cout<<"NO"<<endl;
#define _ 0
#define pi acos(-1)
#define INF 0x3f3f3f3f3f3f3f3f
#define fast ios::sync_with_stdio(false);cin.tie(nullptr);
int lcm[42];
void solve() {
    int n;cin>>n;
    int ans=0;
    for(int i=2;i<=41;i++){
        (ans+=(n/lcm[i-1]-n/lcm[i])*i)%=mod;
    }
    cout<<ans<<endl;
}
signed main(){
    fast
    int t;t=1;cin>>t;
    lcm[1]=1;
    for(int i=2;i<=41;i++)lcm[i]=i/__gcd(lcm[i-1],i)*lcm[i-1];
    while(t--) {
        solve();
    }
    return ~~(0^_^0);
}

标签:...,const,int,全集,Codeforces,Div,lcm,i%,729
From: https://www.cnblogs.com/ycllz/p/16800655.html

相关文章

  • Dive into deep learning
    前言虽然pytorch等框架已经有现成的函数不用我们再重复造轮子,但是自己实现对于我们“炼丹”有很大的好处,基于此我想把我学习过程中遇到的一些函数,给写下来,方便自己理解。......
  • Educational Codeforces Round 112 D
    D.SayNotoPalindromes很牛逼我们手动模拟一下可以知道只有3个字母不构成回文串只有可能是这样的abcabc....acbacb.......6种情况所以直接暴力预处理即可#inclu......
  • Codeforces Global Round 16 D
    D2.SeatingArrangements(hardversion)题意我们要先按照a来排序然后再来安排d的位置最开始都能想到的一点就是我们可以每一组内按照逆序排序我们就可以让组内是0贡......
  • jquery鼠标移入移出事件显示div
    <liclass="active"><divclass="PartR"></div></li><scripttype="text/javascript">$(function(){//显示隐藏varcolor......
  • MaHengbo-2022-MultiObjectiveDiverseHumanPredictionWithKnewledgeDistillation
    Multi-ObjectiveDiverseHumanMotionPredictionWithKnowledgeDistillation#paper1.paper-info1.1MetadataAuthor::[[HengboMa]],[[JiachenLi]],[[Ramti......
  • Codeforces Round #781 (Div. 2) - D. GCD Guess
    GCD+位运算[Problem-1665D-Codeforces](https://codeforces.com/problemset/problem/1627/D)题意交互题,有一个未知数\(x\;(1<=x<=10^9)\),最多有30次询问,每次......
  • Codeforces Round #742 (Div. 2) C
    C.CarryingConundrum这样子进位显然奇偶就独立了我们分别对于奇偶计算方案数然后乘法法则即可比如我们现在奇数位num1偶数位num2我们的方案就是num1+1偶数位就是n......
  • Codeforces Round #628 (Div. 2)——D(二进制,构造,思维)
    https://codeforces.com/problemset/problem/1325/D题目大意给你\(u,v\)两个数,叫你构造出最短的数组,满足所有的异或等于\(u\),所有的和等于\(v\)思路首先我们可以......
  • Divisibility by 2^n
    Problem-D-Codeforces题意:给定数列a1,a2,....an令ans=a1*a2*a2*....an每次可以选择一个i(只能选一次),使得ai=ai*i若操作后存在(2^n)|ans,输出最小的操作次数,否则输出-......
  • Codeforces Round #828 (Div. 3)
    E2.DivisibleNumbers(hardversion)用pollardrho跑出\(ab\)的质因数分解,然后dfs枚举\(ab\)的所有因子对\(x,y\),如果存在\(k_1,k_2\)使得\(a<k_1x\le......