您当前的位置: 首页 >  数学

钟钟终

暂无认证

  • 6浏览

    0关注

    233博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

小结+组合数学+模拟+思维

钟钟终 发布时间:2022-10-06 00:12:21 ,浏览量:6

最近有点松懈了,我的问题,总会莫名感觉压力很大。其实哪有什么压力,认真把每件事做好。 认真学好专业课,上课认真听讲,及时完成作业就好。 算法学习是最近两个月绝对的核心,是提高自己的关键一环。 对于保研考研,不要过多担心了,做好自己能做的最大限度,剩下的你把控不了。

日常搭配:思维+省选+区域赛题

静下心来,加油啊

P4562 [JXOI2018]游戏

题意:对于一个区间l~r,长度为r-l+1,每次可以记录一个数以及它的向上整数倍的区间内的数;问不同次数的各种方案将所有数字覆盖的累加和。 思路: 1.数据范围可达1e7,因此是一个数学题或者O(n)方法做出。 2.采用素数筛的思想求出覆盖l~r最少需要多少次。 3.组合数学思考公式。考虑消去区间需要的次数i在sum~n之间。第i次正好可将区间覆盖(乘上sum),因此前(i-1)个数可随意放置,对于后半段数字的选取为C(n-sum,n-i) 公式:C(n-sum,n-i)*(i-1)!*sum*(n-i)!,可进行化简。 最后,需要对逆元提前预处理,O(n)过题

fac[0]=fac[1]=1;
    for(int i=1;i>=1;
    }
    return res;
}
int getinv(int x) {return qpow(x,mod-2);}
int C(int n,int m)
{
    return (fac[n]*inv[fac[m]]%mod)*inv[fac[n-m]]%mod;
}
void solve()
{
    cin>>l>>r;
    n=r-l+1;
    fac[0]=fac[1]=1;
    for(int i=1;i            
关注
打赏
1664378814
查看更多评论
0.0429s