首页 > 其他分享 >2023年牛客基础训练营3-K

2023年牛客基础训练营3-K

时间:2023-03-29 12:01:13浏览次数:48  
标签:ci int 训练营 2023 long 牛客 公比 ans mod

题目链接:https://ac.nowcoder.com/acm/contest/46811/K

需要的知识:
质因子公式。
介绍:
如果一个数可以化为\(i^x*j^y*k^z\),
则这个数的因子个数为:\((x+1)*(y+1)*(z+1)\),其中\(i,j,k\)为质数,这个定理易证。

思路:
可以将所有的数分为一段一段的,第一段数为大于等于1的数,第二段为大于等于2的数,以此类推。

第一段每增加一个数,就相当于一个因子由1变成2,相当于为一个公比为2的等比数列。
第二段相当于由2变成3,相当于才一个公比为3/2的等比数列。
以此类推:第n段相当于一个公比为(n+1)/n的等比数列。

代码:

#include<bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
long long ci[200010];
long long qmod(long long x,long long y){
    long long ans = 1;
    while(y){
        if (y&1) ans = ans*x%mod;
        y = y>>1;
        x = x*x%mod;
    }
    return ans;
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin>>n;
    for (int i=1;i<=n;i++){
        int x;
        cin>>x;
        ci[x]++;
    }
    for (int i=n;i>=1;i--) ci[i] += ci[i+1];
    long long a1 = 1;
    long long ans = 0;
    for (int i=1;i<=200000;i++){
        long long v = ci[i];
        long long q = (i+1)*qmod(i,mod-2)%mod;
        if (v) a1 = a1*q%mod;
        ans = (ans+a1*(1-qmod(q,v))%mod*qmod(1-q,mod-2)%mod)%mod;
        a1 = a1*qmod(q,max(0ll,v-1))%mod;
    }
    cout<<ans;
}

标签:ci,int,训练营,2023,long,牛客,公比,ans,mod
From: https://www.cnblogs.com/xjwrr/p/17268392.html

相关文章

  • TopSolid 2023 v7.17 Multilingual edition full licensed
     T opSolid'Design2023在设计、钢材、模具和电极方面增加了近400项新功能: ·    逼真渲染模块已得到改进,引入了几个允许高质量逼真渲染的主要新功能。......
  • 2023.3.29每日总结
    今天学习了运用jsp实现在线的视频播放0.MP4格式主代码:<body><videowidth="320"height="240"controls="controls"><sourcesrc="zp.mp4"type="video/......
  • 不坑盒子 V2023.0325 && 打工人插件 大众实用型办公高效利器。
    不坑盒子这是一个非常好用的插件工具,专门应用在Word文档和wps,支持Office2010以上的版本,操作也简单且实用。不坑盒子下载及使用说明 一键排版功能像是下面的自动排版......
  • 2023-03-29 图的深度优先遍历
    图的深度优先遍历1数据结构遍历的意义每种数据结构,都必须有遍历的方式很多算法的本质都是遍历,对于图论问题,真正理解遍历,已经可以应付80%的问题了树的遍历复习复......
  • 总结20230328
    今天周二,上了实用英语阅读与翻译、数据库原理、python程序设计。实用英语阅读与翻译讲的是词类转换。数据库原理讲的是第五章和第六章的一部分,具体第五章讲的是视图,第六......
  • 2023/3/28
      今天的工作很少~也很多:依赖冲突。对于gradle系统出现的依赖冲突,真的很无解。不清楚如何移除。网上的也很难有准确的。除了这些依赖冲突的问题。还写了每个页面的基本......
  • 2023/3/28每日随笔
    今天,上了英语口语,聊的很开心,随后上了数据库,学了视图的建立,感觉视图和表有着相似的关系,视图是表内数据的一种展示形式我认为,你想要什么数据就去展示什么数据,通过select语句,......
  • 2023年3月28日软工日报
    今天完成了外包画界面。干了半天mysql存文件如何实现。好累啊,主要是不会后端如何接受和存取前端文件 ......
  • 2023年3月28日晚
    关于项目数据库的设计得新增mock相关的表和审核相关的表ER图包括实体,属性,实体间的联系bug、bug_log、debug、error、interface、module、project、setting、user......
  • 20230328-Epic Game更改修改更换安装目录
    最简单的办法就是卸载后重装,毕竟现在的网速都是很快的,SSD也是很快的。然而,如果是机器硬盘,如果游戏也很大,那么可以采用把旧的游戏目录先移走,再在新目录安装,中途退出,然后用......