• 余数求和


    余数求和

     长记性:1.除化乘逆元 2.每一步都取模 3.注意+mod

     1 #include <bits/stdc++.h>
     2 #include <ctime>
     3 #include <algorithm>
     4 #include <random>
     5 using namespace std;
     6 typedef long long ll;
     7 typedef unsigned long long ull;
     8 const int maxn = 2e4+10;
     9 const int mod = 1e9+7;
    10 const int inf = 0x3f3f3f3f;
    11 #define gok ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
    12 #define pii pair<int,int>
    13 #define fi first
    14 #define se second
    15 #define pb push_back
    16 #define rep(i,first,second) for(int i=first;i<=second;i++)
    17 #define dep(i,first,second) for(int i=first;i>=second;i--)
    18 #define erep(i,u) for(int i=head[u];~i;i=e[i].nxt)
    19 
    20 ll n,ans,inv;
    21 int main()
    22 {
    23     scanf("%lld",&n);
    24     ans = (n%mod)*(n%mod)%mod;
    25     inv=5e8+4;
    26 
    27     for(ll l=1ll,r;l<=n;l=r+1ll){
    28         r=min(n/(n/l),n);
    29         ans = (ans+(mod-((((n/l)%mod*(l+r)%mod)%mod*((r-l+1)%mod))%mod*(inv%mod))%mod)%mod)%mod;
    30     }
    31     printf("%lld
    ",ans);
    32     return 0;
    33 }
  • 相关阅读:
    环求解点值
    汉诺塔(记录每种路径次数)
    快速排序
    选择排序
    冒泡排序
    桶排序
    异或后最大lowerbit
    计数三角形
    nico和niconiconi
    提高程序设计能力的一般方法
  • 原文地址:https://www.cnblogs.com/wsy107316/p/12773797.html
Copyright © 2020-2023  润新知